Есть рабочее Qt-приложение. Пытаюсь собрать его в статический exe. Застрял на следующей проблеме:
Не хочет линковаться плагин phonon_ds9. Выбрасывает простыню undefined reference:
pastebin.com/fQmF5Q6a
А именно затык на следующей команде:
g++ -Wl,-s -mthreads -Wl,-subsystem,windows -o release\app.exe object_script.app.Release -L"d:\qt\qt-libs\lib" -lmingw32 -lqtmain -ldnsapi -ldxguid -lstrmiids -lmsdmo -ldmoguids -LD:/qt/qt-libs/plugins/phonon_backend -lphonon_ds9 -lphonon -lQtXml -lQtOpenGL -lQtNetwork -lglu32 -lopengl32 -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -LD:\src\openssl-1.0.1c
Но если поменять порядок библиотек на такой (dxguid, strmiids, msdmo, dmoguids которые требует phonon_ds9 перенести в конец):
g++ -Wl,-s -mthreads -Wl,-subsystem,windows -o release\app.exe object_script.app.Release -L"d:\qt\qt-libs\lib" -lmingw32 -lqtmain -ldnsapi -LD:/qt/qt-libs/plugins/phonon_backend -lphonon_ds9 -lphonon -lQtXml -lQtOpenGL -lQtNetwork -lglu32 -lopengl32 -lQtGui -lgdi32 -lcomdlg32 -loleaut32 -limm32 -lwinmm -lwinspool -lmsimg32 -lQtCore -lole32 -luuid -lws2_32 -ladvapi32 -lshell32 -luser32 -lkernel32 -LD:\src\openssl-1.0.1c -ldxguid -lstrmiids -lmsdmo -ldmoguids
То линковка завершается успешно. Почему?
p.s. Верхнюю команду генерирует qmake.