使用 MXE 交叉编译 FFmpeg + Qt 应用程序
Cross compiling FFmpeg + Qt application with MXE
我有一个非常简单的项目,它使用 Qt 以及我在 linux 下开发的 FFmpeg。
现在我无法使用 MXE 交叉编译所述项目以在 windows 机器上使用它。
在 linux 下,我所要做的就是添加
LIBS += -lavcodec -lavformat -lswscale -lavutil
到 Qt 的 .pro 文件并将 FFmpeg 的包含包装在 "extern "C"" 块中,它编译得很好。
现在,对于 MXE,我刚刚克隆了 git 存储库并使用了
make MXE_TARGETS='x86_64-w64-mingw32.static' qt5 ffmpeg
正如 MXE 文档所述,我设置了 PATH 变量并使用了
qmake && make
但是我收到很多关于 libavformat 的未定义引用错误。
谁能告诉我我做错了什么?我有点迷路了。
好的,我开始工作了。
gcc 的 mxe 版本要求您多次包含该库,如果它被库列表中的库引用到 link。
将 -lavformat 添加到 LIBS 行的末尾。
我有一个非常简单的项目,它使用 Qt 以及我在 linux 下开发的 FFmpeg。
现在我无法使用 MXE 交叉编译所述项目以在 windows 机器上使用它。
在 linux 下,我所要做的就是添加
LIBS += -lavcodec -lavformat -lswscale -lavutil
到 Qt 的 .pro 文件并将 FFmpeg 的包含包装在 "extern "C"" 块中,它编译得很好。
现在,对于 MXE,我刚刚克隆了 git 存储库并使用了
make MXE_TARGETS='x86_64-w64-mingw32.static' qt5 ffmpeg
正如 MXE 文档所述,我设置了 PATH 变量并使用了
qmake && make
但是我收到很多关于 libavformat 的未定义引用错误。
谁能告诉我我做错了什么?我有点迷路了。
好的,我开始工作了。
gcc 的 mxe 版本要求您多次包含该库,如果它被库列表中的库引用到 link。
将 -lavformat 添加到 LIBS 行的末尾。