This question already has answers here:
ffmpeg missing config.h in libavutil (No Such File or Directory) CodeBlocks
(2个答案)
2年前关闭。
已翻译。
我有个问题。当我尝试编译使用gcc连接h个文件ffmpeg的文件时,出现一个错误,即在代码ffmpeg中未正确写入include,这意味着该文件位于当前目录中,尽管该文件应位于下一个目录中。目录。如何解决?
包括在我的C文件中:
错误:
我的答案:
我只能通过修复源代码来解决问题。首先,我添加了libavutil / avconfig.h文件,其中包含以下内容:
然后,如果在目录和文件(libavutil / avutil)参与的地方出现错误,则在其中添加“ ../”,因为在这种情况下,目录位于导致错误的文件所在的目录旁边(../libavutil/avutil.h)。在另一种情况下,如果该文件应位于内部(仅当目录名称与当前文件匹配(libavutil / avutil.h)时),您可以保留文件名(avutil.h),也可以添加“ ../ ”,区别不会是。这种操作需要重复大约20次,直到所有头文件中的错误消失为止。之后,无需特殊知识和补丁即可安全地编译ffmpeg。在中文站点上找到avconfig.h的代码。
警告:我写了
(2个答案)
2年前关闭。
已翻译。
我有个问题。当我尝试编译使用gcc连接h个文件ffmpeg的文件时,出现一个错误,即在代码ffmpeg中未正确写入include,这意味着该文件位于当前目录中,尽管该文件应位于下一个目录中。目录。如何解决?
包括在我的C文件中:
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#include "libswscale/swscale.h"
错误:
D:\gcc\bin>gcc -o a a.c -lavutil -lavformat -lavcodec -lz -
lavutil -lm
In file included from a.c:3:0: libavcodec/avcodec.h:31:33:
fatal error: libavutil/samplefmt.h: No such file or directory
#include "libavutil/samplefmt.h"
^
compilation terminated.
我的答案:
我只能通过修复源代码来解决问题。首先,我添加了libavutil / avconfig.h文件,其中包含以下内容:
#ifndef AVUTIL_AVCONFIG_H
#define AVUTIL_AVCONFIG_H
#define AV_HAVE_BIGENDIAN 0
#define AV_HAVE_FAST_UNALIGNED 0
#endif
然后,如果在目录和文件(libavutil / avutil)参与的地方出现错误,则在其中添加“ ../”,因为在这种情况下,目录位于导致错误的文件所在的目录旁边(../libavutil/avutil.h)。在另一种情况下,如果该文件应位于内部(仅当目录名称与当前文件匹配(libavutil / avutil.h)时),您可以保留文件名(avutil.h),也可以添加“ ../ ”,区别不会是。这种操作需要重复大约20次,直到所有头文件中的错误消失为止。之后,无需特殊知识和补丁即可安全地编译ffmpeg。在中文站点上找到avconfig.h的代码。
最佳答案
您的“编译”语句缺少头文件的位置。建议:
编译/链接语句应类似于:
gcc -o a a.c -I./libavutil -lavutil -lavformat -lavcodec -lz -lavutil -lm
警告:我写了
-I
参数,好像当前/工作目录包含libavutil
作为子目录一样。如果这不正确,则需要对该参数进行调整。10-06 05:22