ffmpeg - 使用 MXE 交叉编译 FFmpeg + Qt 应用程序

标签 ffmpeg mxe

我有一个非常简单的项目,它使用 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/

相关文章:

android - 视频无法在 Android (chrome) 和 iOS (safari) 上播放

Ffmpeg 将视频拆分为多个 block ,但持续时间长度不同

ios - FFmpeg + iOS + 有损蜂窝连接

c++ - 如何仅在 MXE 中重新编译特定包?

c++ - 理论或方向、c++、qt 和使用 MXE 进行交叉编译

linux - mxe 交叉编译 linux 到 windows vtk 示例

video - ffmpeg:在不创建新文件的情况下向 mp4 添加字幕

ffmpeg - 如何使用 ffmpeg 在 NVenc(HEVC) 上设置 gop-size?

c++ - 使用交叉编译的 libpng16-16.dll 在 w10 上无法执行

c++ - 在 Windows 系统上使用 QMediaPlayer,代码在 Linux 上编译