2017-12-04 6 views
0

Ich versuche, OpenCV 3.1.0 in QT Creator 4.4.1 mit this Tutorial von ihrer offiziellen Website zu arbeiten.QT Creator: OpenCV DLL-Bibliothek kann nicht hinzugefügt werden ("Dateiformat nicht erkannt")

Momentan richte ich meine Projektdatei ein. Die gesamte Datei sieht auf den auf im Tutorial abgesehen von den letzten paar Zeilen identisch, wie mein OpenCV baut an einem anderen Ort ist und es ist eine andere Version Dies ist, was ich habe:

INCLUDEPATH += C:\opencv\opencv-3.1.0\build\include 

LIBS += -LC:\opencv\opencv-3.1.0\build\x64\vc14\bin \ 
    libopencv_world310d \ 

Soweit ich verstehe , das "world" -Modul wurde in openCV eingeführt, um alle verschiedenen Module zu einem zu vereinen.

Allerdings, wenn ich versuchen, dies zu laufen, erzeugt QT den folgenden Fehler:

C:\opencv\opencv-3.1.0\build\x64\vc14\bin\opencv_world310d.dll:-1: error: file not recognized: File format not recognized 

Was mache ich falsch? Im Tutorial gibt es eine alternative Möglichkeit, die Bibliotheken zu verlinken, die sie sogar explizit als .dll-Dateien angeben. Warum ist das ein Problem?

Antwort

3

Sie müssen die .lib im lib Ordner enthalten sind, verknüpfen:

LIBS += -LC:\opencv\opencv-3.1.0\build\x64\vc14\lib \ 

und die .dll in der PATH setzen, oder die gleichen Ordner des .exe

+0

Hallo, danke für die schnelle Antwort! Ich habe in meiner LIBS-Zeile "bin" in "lib" geändert und meine Pfadvariable verweist auf den Ordner/bin. Jetzt bekomme ich jedoch undefinierte Referenzfehler für alle meine openCV-Referenzen in meinem Code. Muss ich jede einzelne DLL in meinen PATH setzen? – ExtraGoofy

+0

'-lopencv_world310', nicht' -libopencv_world310' – Miki

+0

Ich gehe davon aus, dass Sie die LIBS-Zeile meines Codes referenzieren. Dies ist, was es sieht wie jetzt: 'LIBS + = -LC: \ opencv \ opencv-3.1.0 \ build \ x64 \ VC14 \ lib \' ' -Lopencv_world310d \' ich bin immer noch die undefined Referenzfehler. – ExtraGoofy

Verwandte Themen