Sono nuovo di OpenCV e ho riscontrato un problema con il collegamento.Collegamento a OpenCV 2.3.1 su Ubuntu
sto usando Ubuntu 11.10, OpenCV 2.3.1 è stato installato secondo le this guida:
Sto costruendo molte piccole applicazioni con esso, e si guarda bene. Di solito, sto costruendo con pkg-config --libs --cflags opencv
.
Ora, sto provando a costruire un framework che qualcun altro ha scritto, compila senza problemi, ma non riesco a collegarlo: c'è una lunga lista di "riferimenti irrisolti a ..." (migliaia di loro). tutti i simboli relativi a opencv_core non sono stati trovati.
Ho provato a ricompilare OpenCV senza il supporto dell'intestazione precompilato, non ha aiutato. ovviamente. :(
l'applicazione test_opencv_core sta funzionando benissimo, ma non è riuscito opencv_rand. Penso che dice che opencv_core è corretto, in generale, ma ancora non funziona quando ne ho bisogno ...
potete per favore ? cercare di darmi qualche suggerimento mi sono perso ci
Grazie in anticipo, David
Aggiornamento:.. risolto
gcc 4.6.1 richiede che le librerie e le sorgenti vengano visualizzate nella riga di comando prima dei percorsi alle librerie condivise. perché? non lo so appena trascorso 24 ore per questo stupido errore :(
Aggiornamento:. Comprensibile dalla pagina ld man:
Il linker cerca un archivio solo una volta, nel punto in cui si è specificato nella riga di comando Se l'archivio definisce un simbolo che non era definito in qualche oggetto che appariva davanti all'archivio sulla riga di comando, il linker includerà il file appropriato dall'archivio. Tuttavia, un simbolo indefinito in un oggetto che appare in seguito sulla riga di comando non farà in modo che il linker cerchi di nuovo nell'archivio .
Vedere il - (opzione per un modo per forzare il linker a cercare gli archivi più volte
Questo è tutto
Se l'altro quadro è fornito come una libreria che si collega a, quindi.. Dovresti anche collegarti a OpenCV da te –
Grazie, questo framework è usato come file di oggetti, non come libreria condivisa, sto solo cercando di compilare un'applicazione di esempio che usa questi oggetti e il collegamento non funziona – David
pubblica la tua soluzione come risposta (invece di una domanda di modifica) e accettala, in questo modo gli altri sanno che viene data risposta nel futuro. – mevatron