2011-11-29 4 views
5

http://www.barbato.us/2011/03/18/using-opencv2-within-qtcreator-in-windows-2/Come creare correttamente OpenCV 2.3.1 per Qt 4.7 su Windows XP?

Stavo seguendo questo post sopra su come utilizzare opencv con Qtcreator. si dice che ho dovuto aggiungere i file * .lib al mio professionista in Qtcreator.

Ho fatto solo quello fuori dalla scatola quei file *. Lib che sono venuti con opencv sono stati compilati per Microsoft VS. così ho ancora seguito un altro post online su come costruire OpenCV con MinGW per l'uso con QtCreator, ecco il link: http://knowtheabc.wordpress.com/2011/02/25/windows-opencv-and-qt-creator/

ma io non sono in grado di ottenere i file * .lib generati, ottengo * .dll e * .dll.a

Ho provato ad aggiungerli al mio progetto Qt ma non funziona! Come posso generare quei file Lib?

risposta

1

Sembra che tu sia confuso su quale versione utilizzare. Se si desidera utilizzare QtCreator/MinGW, è necessario creare OpenCV con MinGW e utilizzare la versione MinGW di Qt. Here è la build MinGW di Qt. Dovrai scegliere il target MinGW Makefiles per la build CMake di OpenCV. Here è la guida all'installazione di CMake per OpenCV.

+0

Darò un altro tentativo e vedere. grazie, ti riporto – xedus

+0

Grazie, ha funzionato, – xedus

0

L'unica differenza è che i file DLL sono librerie dinamiche e i file lib sono librerie statiche. le librerie dll sono ok e dovrebbero funzionare. Puoi scegliere il tipo di libreria che vuoi costruire in configure. Non si specificano dettagli sul motivo per cui le DLL non funzionano.

+0

continuo a ricevere riferimento non definito quando si cerca di costruire i miei esempi in Qt Creator esempio ho undefined reference to 'cv :: imread (const std :: string &, int)', anche se sto usando namespace cv e incluso OpenCV .cpp. potresti dirmi come specificare il tipo di libreria da cMake? – xedus

+0

Verificare che il simbolo sia effettivamente nella libreria utilizzando lo strumento per la scoperta dei simboli (presupponendo che la libreria non sia stata rimossa). Non è necessario includere i file di origine (cpp come hai detto), ma i file di intestazione (h o hpp). Scusa, non so come sia progettata la GUI. Controlla il manuale per quello. –

+0

scusate, volevo dire opencv.hpp e non opencv.cpp – xedus

Problemi correlati