老船长的航海日记:ffmpeg的旅程(三)

来源:互联网 发布:工商银行数据中心待遇 编辑:程序博客网 时间:2024/04/28 08:07

接上一篇,依旧出现的是SDL库问题,

经过反复查找,终于发现是由于Makefile的SDL引用问题,同时也说明了(一)中的问题:


SDL库不是使用的默认地址,因此必须要指定安装。


把整个Makefile拷贝如下,也方便后续的学习者


#find all .c file in src  


SRC_DIR := src


SRC_FILE_TYPE = c


FIND_SRC_FILES = $(shell find $(SRC_DIR) -name "*.$(SRC_FILE_TYPE)")


SRC_FILES = $(notdir $(FIND_SRC_FILES) )


  


#obj  


OBJ_FILES = $(SRC_FILES:.$(SRC_FILE_TYPE)=.o)


OBJ_DIR := obj


OBJS = $(addprefix $(OBJ_DIR)/,$(OBJ_FILES))


  


##libs  


LIB_DIR := ../ffmpeg


LIB_SDL_DIR := ../SDL


LOCAL_LIBS :=-L$(LIB_DIR)/libavformat -lavformat \


-L$(LIB_DIR)/libavcodec -lavcodec \


-L$(LIB_DIR)/libavutil -lavutil \


-L$(LIB_DIR)/libswscale -lswscale \


-L$(LIB_SDL_DIR)/build/.lib -lSDL


SYS_LIBS :=-lpthread -lz -lm  


#  


##include  


INCLUDE_PATH += -I../ffmpeg -I../SDL/include


#  


#compile para  


CC = gcc


CFLAGS = -Wall -g -c


LINK = gcc


LINK_FLAGS = -g -o


  


target = tutorial


.PHONY:all


all:tutorial


  


$(target):$(OBJS)


$(LINK) $(LINK_FLAGS) $@ $(OBJS)  $(LOCAL_LIBS)  $(SYS_LIBS) $(INCLUDE_PATH)   


    


#compile source files into object files  


$(OBJ_DIR)/%.o: $(SRC_DIR)/%.$(SRC_FILE_TYPE)


$(CC) $(CFLAGS) $(INCLUDE_PATH) -c $< -o $@  


  


.PHONY:clean  


clean:


rm -rf obj/*.o


rm tutorial  


  


.PHONY:debug                                          # //µ÷ÊÔÓà  


debug:


@echo OBJ_FILES:$(OBJ_FILES)


@echo OBJS:$(OBJS)  




由于整个Makefile较长,只好不带颜色上在上面。




正确运行结果如上图

0 0
原创粉丝点击