Кросс-компиляция приложения 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.