编译头文件包含问题
想利用ffmpeg的库文件开发程序,在编译的时候遇到了一个问题,自己所引用的头文件里面包含了另外一个文件夹内的头文件,这样导致了编译没法找到对应的头文件
使用的编译指令如下
mipsel-openwrt-linux-gcc -L. -lavformat -L. -lavutil -L. -lavcodec -L. -lavfilter -I ./libavdevice -I ./libavcodec -I ./libavutil -I ./libavformat -I ./libavfilter -I ./libavresample -I ./libswresample -I ./libswscale -o ffmpeg_streamer ffmpeg_streamer.c
报错如下
In file included from ffmpeg_streamer.c:18:0:
libavformat/avformat.h:197:32: fatal error: libavcodec/avcodec.h: No such file or directory
#include "libavcodec/avcodec.h"
因为头文件之间互相引用,但是希望不要改动源码,比如增加../ 相对路径可以解决这个问题,是否有编译指令可以解决这个问题
附件是文件目录结构
使用的编译指令如下
mipsel-openwrt-linux-gcc -L. -lavformat -L. -lavutil -L. -lavcodec -L. -lavfilter -I ./libavdevice -I ./libavcodec -I ./libavutil -I ./libavformat -I ./libavfilter -I ./libavresample -I ./libswresample -I ./libswscale -o ffmpeg_streamer ffmpeg_streamer.c
报错如下
In file included from ffmpeg_streamer.c:18:0:
libavformat/avformat.h:197:32: fatal error: libavcodec/avcodec.h: No such file or directory
#include "libavcodec/avcodec.h"
因为头文件之间互相引用,但是希望不要改动源码,比如增加../ 相对路径可以解决这个问题,是否有编译指令可以解决这个问题
附件是文件目录结构
2 个回复
xzmu - 10w
赞同来自:
不是应该先make install 到一个目录,然后,再-I到这个目录的include文件夹下么?
lib同理
glaring - IT男
赞同来自: