lien statique lib dans eclipse cdt
Je suis désolé! J'ai googlé ce beaucoup et ne trouvez pas de réponse! C'est bête je sais.
Je ne peut pas lier dans les bibliothèques statiques(*.a) dans eclipse cdt. J'ai répertorié tous dans Project->Paramètres-> GCC C++ linker -> les Bibliothèques. J'ai utilisé le chemin d'accès absolu pour s'assurer que j'avais la lib correct... et j'obtiens:
ne peut pas trouver-l/usr/local/lib/libboost_date_time.un
Je suis sûr que c'est stupide ce que je fais de mal 🙁
Edit -- et je dois mentionner que je suis reliant les bibliothèques au moment de l'exécution...
- Vous pouvez spécifier le chemin d'accès complet pour les libs dans gcc en ajoutant ':'. Donc, dans votre cas, ce serait '-l:/usr/local/lib/libboost_date_time.a', ou ajouter": /usr/... " pour les bibliothèques dans eclipse. Mais la convention du préfixe " lib " et en ajoutant les chemins de recherche est là pour une raison, donc mieux vaut utiliser des chemins absolus que si vraiment nécessaire.
Vous devez vous connecter pour publier un commentaire.
Je me souviens avoir eu un problème similaire le chemin du retour lorsque j'ai été la compilation de notre code sous linux (à venir à partir d'un arrière-plan de windows) et si je me souviens correctement en spécifiant le chemin d'accès absolu à la statique de la lib n'ai pas de travail.
Savez-vous que pour le lien vers "libboost_date_time.une", vous devez spécifier "boost_date_time" sans le "lib" et le ".un"? Dans mon cas, qui a résolu le problème. /usr/local/lib devrait être sur votre chemin en tout cas AFAIR.
-l
drapeau (par exemple,gcc foo.cpp /usr/local/lib/libboost_date_time.a
)-l
).Statiques des bibliothèques ou services d'archives sont simplement une collection de fichiers de l'objet.
Ajouter l'archive en tant que Autres Objets sous C/C++ Build -> Paramètres -> C++ Linker -> Divers:
Des gens pleurer meurtre sanglant sur la spécification d'un nom de chemin complet. Je trouve cela fonctionne dans la pratique (à la différence de la théorie à la fois), et son pas pire que la rupture de la chemin et nom de fichier, puis en spécifiant avec
-L
et-l
. Et ai-je mentionné que cela fonctionne réellement dans la pratique...lib
. Il a travaillé un régal pour moi. Merci!J'ai eu le même problème lors de l'ajout de la libs dans le
C/C++ General->Paths & Symbols
écran de configuration.Plutôt sur la
C/C++ Build -> settings
écran sousGCC C++ Linker /Libraries
j'ai ajouté le nom de la bibliothèque sans lib et.a
dans les Bibliothèques (-l) et ajouter le chemin dans le chemin de recherche des Bibliothèques(-L)
. Cela a résolu mon problème