2010-12-30 6 views
13

Sto cercando di compilare un programma di esempio dopo l'installazione Opencv con il comando:codice di compilazione con OpenCV Biblioteche

g ++ ciao-ciao-world.cpp -o mondo -I/usr/local/include/OpenCV - L/usr/local/lib -lm -lcv -lhighgui -lcvaux

però, sto ricevendo un errore che dice:

/usr/bin/ld: non riesce a trovare -lcv
/usr/bin/ld: impossibile trovare -lhighgui
/uer/bin/ld: impossibile trovare -lcvaux collect2: ld restituito 1 ex stato

Cosa devo fare per correggere questo ?? Ho installato opencv scaricando l'ultima versione stabile e utilizzando cmake per creare i file di build, quindi ho eseguito make install dalla riga di comando.

C'è qualcosa che potrebbe essermi perso?

Grazie,

risposta

8

è necessario aggiungere un'altra -L argomento specificando la posizione attuale delle librerie OpenCV.

+0

così invece di -L/usr/local/lib hanno -L ? o un ulteriore -L ... e dove troverei le librerie? Quando faccio una installazione, mi mostra tutti i file aggiornati e la posizione ... ma ci sono così tante cose diverse ... tutti i file .h sono in/usr/local/include/opencv ... i file della libreria hanno un'estensione diversa? – Kaigi

+0

Passa attraverso l'output cmake per scoprirlo. –

+0

grazie per la tua rapida risposta - ho espresso il mio commento sopra, ma quando l'ho fatto, tu avevi già risposto. Penso che potrei non essere chiaro su quello che sto davvero cercando. Quando faccio una installazione, mi mostra tutti i file aggiornati e la posizione ... ma ci sono così tante cose diverse ... tutti i file .h sono in/usr/local/include/opencv ... i file della libreria hanno un'estensione diversa? – Kaigi

31

aggiornato (Ci scusiamo per i miei errori nella riga di comando)

Meglio utilizzare questo comando:

g++ `pkg-config --cflags --libs opencv` opencv.cpp -o opencv 

Il comando pkg-config sarà individuare il corretto comprendono e la biblioteca per il vostro codice sorgente.
Per una migliore gestione con la programmazione OpenCV, utilizzare un IDE come code::block.

Forse questo tutorial vi aiuterà nella programmazione OpenCV con code::block:
How to Setup OpenCV for code :: block in Linux and Windows?

+0

questa è la risposta giusta e completa – alcor

18

Recentemente ho iniziato ad usare OpenCV e ho avuto problema simile e per me questo funziona davvero bene:

-lopencv_core -lopencv_imgproc -lopencv_highgui -lopencv_objdetect 

spero che risolverà il tuo problema.

+0

Grazie mille! Mi hai salvato dall'impazzire! –