1
我正在制作一个C++程序,我想使用FFmpeg预先为x64编译,这是一个C编译库。 我使用这个代码,以包含它的头:Visual C++链接器无法解析FFmpeg的外部符号
extern "C" {
#include "libavcodec/avcodec.h"
#include "libavformat/avformat.h"
#pragma comment (lib,"G:/Documents/ffmpeg/lib/avcodec.lib")
#pragma comment (lib,"G:/Documents/ffmpeg/lib/avformat.lib")
}
然后我打电话的符号一样,我会为一个正常的功能做的,例如与av_interleaved_write_frame(out->formatContext, &packet);
然而,当我尝试要与Visual Studio 2015年的内置C++编译器编译它,我得到了很多错误,像
Error LNK2019 unresolved external symbol _av_write_trailer referenced in function "void __cdecl closeArenaVideo(struct VideoOutput *)" ([email protected]@[email protected]@@Z) Sparta2 c:\Users\Théo\documents\visual studio 2015\Projects\Sparta2\Sparta2\video.obj
的基本上任何我指的符号。
我试图在Visual Studio中导入一切,用命令行编译,手动将FFmpeg的库放到默认库路径中,但没有成功。
预先感谢您!
检查[这个答案](http://stackoverflow.com/a/11701737/868014)和它的底部更新有关32/64 lib混淆,它可能也是你的情况。 –
非常感谢,确实是这个问题!如果你愿意,你可以做出正确的答案,我会将其标记为已接受。 – JustPingo