參考連結https://blog.csdn.net/u011118092/article/details/53945652
編譯代碼,需要用到ffmpeg相關庫功能,用ubuntu交叉編譯時報錯,找不到系統time.h相關結構體。
問題點:
ffmpeg頭檔案libavutil/time.h與系統time.h沖突。編譯報錯。
原因:
編譯時系統根據 **-I/path/...**指定路徑優先查找頭檔案,由于ffmpeg的include檔案夾下找到了time.h,編譯時就不會再去查找系統的time.h檔案,導緻參數對不上,編譯失敗;
解決方案
寫Makefile時,指定include路徑時隻到include這一層,不要再包含下一層例如
舊的Makefile
...-I/usr/local/ffmpeglib/include/libavdevice/...
...-I/usr/local/ffmpeglib/include/libavformat/...
改後的Makefile
...-I/usr/local/ffmpeglib/include/...
編碼時使用帶路徑包含例如 #include “libavutil/time.h”