Кросс-компиляция приложения FFmpeg + Qt с MXE

Я получил довольно простой проект, который использует Qt, а также FFmpeg, который я разработал под Linux.
Теперь у меня возникли проблемы с кросс-компиляцией указанного проекта с MXE, чтобы использовать его на Windows-машине.

Под Linux все, что мне нужно было сделать, это добавить

LIBS += -lavcodec -lavformat -lswscale -lavutil

к.pro-файлу Qt и оберните включаемые файлы для FFmpeg в блок "extern "C"", и он прекрасно компилируется.

Теперь для MXE я просто клонировал git-репо и использовал

make MXE_TARGETS='x86_64-w64-mingw32.static' qt5 ffmpeg

В качестве состояния документа MXE я установил переменную PATH и использовал

qmake && make

Но я получаю много неопределенных ошибок ссылок относительно libavformat.

Кто-нибудь может сказать мне, что я здесь делаю неправильно? Я немного потерян.

1 ответ

Решение

Итак, я получил это работает.

Mxe-версия gcc требует, чтобы вы включали библиотеку несколько раз, если на нее ссылается библиотека после нее в списке библиотек для ссылки.

Добавьте -lavformat в конец строки LIBS.

Другие вопросы по тегам