2016-04-18 17 views
1

Ich habe ein ziemlich einfaches Projekt, das Qt sowie FFmpeg verwendet, die ich unter Linux entwickelt.
Jetzt habe ich Probleme beim Übersetzen dieses Projekts mit MXE, um es auf einer Windows-Maschine zu verwenden.Kreuz kompilieren FFmpeg + Qt Anwendung mit MXE

unter Linux alles, was ich tun musste, war die Zugabe

LIBS += -lavcodec -lavformat -lswscale -lavutil 

zu .proDatei Qt und wickeln das beinhaltet für FFmpeg in einem „extern‚C‘“ Block und kompiliert es einfach gut.

Jetzt für MXE ich nur die git Repo geklont und verwendet

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

Da die MXE doc Zustände i die PATH-Variable gesetzt und verwendet

qmake && make 

Aber ich viele undefinierte Referenzfehler erhalten in Bezug auf libavformat.

Kann mir jemand sagen, was ich hier falsch mache? Ich bin irgendwie verloren.

Antwort

1

Okay, ich habe das funktioniert.

Die mxe-Version von gcc erfordert, dass Sie die Bibliothek mehrere Male einschließen, wenn sie in der Liste der zu verknüpfenden Bibliotheken von einer Bibliothek referenziert wird.

Fügen Sie dem Ende der LIBS-Linie -lavformat hinzu.

+0

Können Sie das näher erläutern? Ich weiß nicht wirklich oder verstehe nicht, was du genau meinst. – ldr

+0

Ich habe die Antwort aktualisiert –