我有一个非常简单的项目,它使用 Qt 以及我在 linux 下开发的 FFmpeg。
现在我在使用 MXE 交叉编译所述项目以在 Windows 机器上使用它时遇到了麻烦。
在linux下我要做的就是添加
LIBS += -lavcodec -lavformat -lswscale -lavutil
到 Qt 的 .pro 文件并将 FFmpeg 的包含包含在一个“extern“C”” block 中,它编译得很好。
现在对于 MXE,我只是克隆了 git repo 并使用了
make MXE_TARGETS='x86_64-w64-mingw32.static' qt5 ffmpeg
正如 MXE 文档所述,我设置了 PATH 变量并使用了
qmake && make
但是我得到了很多关于 libavformat 的未定义引用错误。
谁能告诉我我在这里做错了什么?我有点迷路了。
最佳答案
好的,所以我得到了这个工作。
gcc 的 mxe 版本要求您多次包含该库,如果该库在要链接的库列表中被其后的库引用。
将 -lavformat 添加到 LIBS 行的末尾。
关于ffmpeg - 使用 MXE 交叉编译 FFmpeg + Qt 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36699377/