2014-07-12 7 views
7

Sto utilizzando l'IDE <XZY> per compilare il mio programma e ho qualche problema a importare/integrare una libreria specifica con esso.Problemi nell'importazione di librerie nel mio progetto C++, come risolvere questo problema?

ricevo messaggi di errore come

fatal error: 3rdPartyLib.h: No such file or directory 

per un

#include "3rdPartyLib.h" 

dichiarazione

ld.exe: cannot find `lib3rdParty.a` 

per specificare

3rdParty 

nelle librerie aggiuntive

Almeno ho avuto qualche messaggio di errore come

undefined reference to `lib3rdParty::foo()' 

Cosa posso fare per risolvere questo problema?

risposta

9

È un comune equivoco, che l'IDE corrente utilizzato, è responsabile per ottenere errori come indicato nella domanda.
Vedi per esempio

Il problema non è quasi mai legato alla IDE attualmente utilizzato.
Nella maggior parte dei casi la soluzione si riduce, per fornire al compilatore/linker della toolchain effettivo il percorso appropriato per cercare le intestazioni incluse, per essere librerie collegate.

Una delle principali risposte applicabili per i problemi connessi linker sono


La maggior parte degli IDE comuni fornisce funzionalità per configurarlo per un progetto specifico.Ecco alcuni esempi


Eclipse CDT

includono le impostazioni di percorso: enter image description here

Biblioteca Opzioni di & biblioteca percorso di ricerca enter image description here


Visual Studio 2013

enter image description here


blocchi di codice enter image description here enter image description here


** DEV C++ (C++ Bloodshed)

A partire dal loro Domande frequenti:

9. Come posso utilizzare la libreria OpenGL e altre?

Tutte le librerie fornite con Mingw risiedono nella directory Lib. Essi sono tutti nominati nel modo seguente: lib*.a Per collegare una libreria con il progetto, basta aggiungere in Opzioni progetto, ulteriori file di opzioni:
-lopengl32
Questo è per compresa la biblioteca libopengl32.a. Per aggiungere qualsiasi altra libreria, basta seguire la stessa sintassi: Digitare -l (L in minuscolo) più il nome base della libreria (nome file senza lib e l'estensione .a).

Si può anche considerare di mettere un'opzione -L lì per aggiungere percorsi di directory cercati per le librerie.


Qt Creator

Per aggiungere includere percorsi è necessario aprire il file .pro e quindi aggiungere le directory alla variabile INCLUDEPATH. Questi percorsi sono separati da spazi. Il riferimento può essere trovato here.

Showing INCLUDEPATH


Se nessuno dei campioni di cui sopra si applica per il vostro IDE/toolchain effettivamente utilizzato, spero che tu sia in grado di ottenere il punto di astrazione:

E 'una questione come fornire le opzioni di compilazione/collegamento alla tua attuale toolchain. L'IDE utilizzato per impostare il contesto è un punto secondario qui.

Problemi correlati