2017-07-15 11 views
0

Ich arbeite an einem Projekt, bei dem mehrere lokale Netzwerk-Videostreams empfangen, angezeigt und erneut gesendet werden. LibVLC scheint der richtige Weg zu sein, ich würde es gerne in Qt Creator/C++/OSX 10.12.1 verwenden und ich muss das Projekt auch auf einigen Windows 10 Computern kompilieren können, auf denen ich Qt installiert habe.Qt 5 und LibVLC: Wie kann ich es funktionieren lassen?

Ich habe einige Funktionalitäten erfolgreich getestet, indem ich den offiziellen QT-LibVLC-Wrapper von projects.tano.si/vlc-qt installiert habe. Leider fehlen dem Wrapper viele LibVLC-Methoden, die für mein Projekt essentiell sind. Daher entschied ich mich für die Installation von LibVLC.

Für jetzt bin ich fest, wie LibVLC arbeiten. Ich folgte alle Richtungen bei https://wiki.videolan.org/OSXCompile/#Apple_Software für die Installation und Bibliotheken bauen, und alles ging gut.

Dann habe ich ein neues Projekt in QT gestartet, versucht, INCLUDEPATH + = hinzuzufügen. vlc und LIBS + = - lvlc Pfade zu der .pro-Datei in Qt, aber es funktioniert nicht. Das Hinzufügen von Pfaden zum Ordner "Framework" des VLC-Build-Ordners funktioniert nicht.

Wer weiß, wie der Zaubertrick? Sorry, ich weiß, ich bin ein bisschen naiv, aber das ist es ... Vielen Dank im Voraus für jede Antwort!

UPDATE:

dank eyllanesc Vorschlag nun diese Struktur für den Compiler funktioniert:

QT  += core gui 

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets 

TARGET = testVLC 
TEMPLATE = app 

DEFINES += QT_DEPRECATED_WARNINGS 

SOURCES += \ 
player.cpp \ 
main.cpp 

HEADERS += \ 
player.h 


macx: LIBS += -L$$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/lib/ -lvlc.5 

INCLUDEPATH += $$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/include 
DEPENDPATH += $$PWD/../../../../Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/include 

Leider ist die Anwendung gestartet wird, aber VLC-Instanz wird nicht initialisiert. Scheint, dass meine VLC Installation etwas falsch gemacht hat.

GELÖST:

Nachdem einige das Projekt Tweaking richtig kompiliert und startet. Ich verstehe nicht, warum, aber die Umgebungsvariable VLC_PLUGIN_PATH hat nur gesetzt werden, bevor VLC instanziiert wird, sonst verweigert VLC zu initialisieren:

//set environment variable VLC_PLUGIN_PATH 
int s = setenv ("VLC_PLUGIN_PATH", "/Users/macbookpro15retina/Documents/vlc/build/vlc_install_dir/lib/vlc/plugins", 1); 

// Initialize libVLC 
vlcInstance = libvlc_new(0, NULL); 

Eigentlich ist es überhaupt nicht funktionieren, wenn Sie es im Build eingestellt Umgebung von QtCreator.

+0

öffnen Sie die Struktur Ihres Projekts zeigen konnte, das ist, wie die Ordner befinden, in dem die Bibliothek befindet, usw. – eyllanesc

+1

Warum Sie verwenden '.vlc' in' INCLUDEPATH'? In 'INCLUDEPATH' müssen Sie den Pfad der .h Dateien setzen – eyllanesc

+0

Danke, jetzt weiß ich noch etwas mehr. Ich habe es nur gemacht, weil es in einem Beispielcode war, den ich in einem VLC-Forum gefunden habe. –

Antwort

3

Eine einfache Möglichkeit, Bibliotheken für unsere Anwendung schließen ist mit Hilfe von Qt Creator, dieser einen Assistenten hat, es zu benutzen, genau richtig auf den Namen Ihres Projektes klicken zu:

enter image description here

Wählen Sie dann die Add Library Option.

enter image description here

Dann wird der Assistent geöffnet:

enter image description here

und wählen Sie die Art der Import ist in Ihrem Fall empfiehlt es sich, External Library zu verwenden.

enter image description here

Dann suchen Sie für den Standort Ihres Projekts und Sie akzeptieren.

Hinweis: Unter Linux kann dieses Tool mit dem Kontext Ctrl + E

+0

Richtig, das hat auch in meinem Projekt OS X funktioniert. –

Verwandte Themen