|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||
|
Membre confirmé
![]() Alexandre PetitjeanIngénieur développement logiciels Inscription : juin 2006 Messages : 280 ![]() |
Bonjour,
je construit un projet qui utilise une bibliothèque externe. Je ne sais pas comment ajouter celle ci pour qu'elle soit prise en compte lors du make... j'ai essayé les macro suivante dans le Makefile.am : LDADD, LIBADD mais rien n'y fait... J'ai la même erreur que si je compile directement mais sans le " -lsqlite3 " c'est à dire : Code :
D'avance merci |
||
|
|
00
|
|
|
#2 | |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
Citation:
commences par empecher cela.. apres tu pourras voir a (re)tester les autres erreurs. au fur et a meusure. |
|
|
|
00
|
|
|
#3 | ||
|
Membre confirmé
![]() Alexandre PetitjeanIngénieur développement logiciels Inscription : juin 2006 Messages : 280 ![]() |
Comment faire pour utiliser sqlite alors ?
Ce que je fais : Dans le fichier entête qui crée ma connection : Code :
Je ne vois pas comment faire autrement ... |
||
|
|
00
|
|
|
#4 | |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
c'est toi pourtant qui dit je cide :
Citation:
? tu veux voir pourquoi ton code remonte une erreur avec ou sans usage de sqlite non ? |
|
|
|
00
|
|
|
#5 | ||||
|
Membre confirmé
![]() Alexandre PetitjeanIngénieur développement logiciels Inscription : juin 2006 Messages : 280 ![]() |
J'ai dû mal exprimer mon problème...
Mon code compile bien, je n'ai aucune erreur. Pour cela j'utilise une longue ligne de commande type : Code :
Je voudrais pouvoir lancer la série magique : Code :
Ca crée les fichiers qui vont bien à partir de fichiers de pré-configuration dans lesquels je renseigne les fichiers à compiler et où les trouver. Comme j'utilise sqlite3, j'aimerais que lors de la compilation des fichiers utilisant cette bibliothèque, l'option "-lsqlite3" soit ajoutée. Car pour le moment, l'option n'est pas ajoutée et j'ai l'erreur cité. Je viens de relire le premier post, et effectivement, je n'étais pas très clair... désolé... Et maintenant est ce plus clair ? |
||||
|
|
00
|
|
|
#6 |
|
Expert Confirmé Sénior
![]() francois Ingénieur systèmes et réseaux Inscription : juillet 2006 Messages : 3 546 ![]() |
ah il doit falloir ecrire un makefile alors je suppose....et surtout un script configure mais la ca depasse mes competances.
|
|
|
00
|
|
|
#7 |
|
Membre confirmé
![]() Alexandre PetitjeanIngénieur développement logiciels Inscription : juin 2006 Messages : 280 ![]() |
justement l'écriture du configure et des Makefile se font via les autotools.
Si ça t'intéresse, tu peux toujours aller sur ce site pour comprendre le principe : automake C'est par là que j'ai commencé, mais je ne trouve rien pour les librairies externe... |
|
|
00
|
|
|
#8 |
|
En attente de confirmation mail
![]() Inscription : juin 2002 Messages : 6 164 ![]() |
Pour autant que j'y ai touché, vous pouvez soit l'ajouter lors du script configure en modifiant les variables (LDFLAGS si j'ai bonne mémoire), ce qui serait global pour vos sources ou l'ajouter spécifiquement à un "répertoire" dans le fichier Makefile.am correspondant. Dans le dernier cas ça dépend de ce que vous compilez : un binaire (LDADD ou nombin_LDADD) ou une librairie (nomlib_la_LDFLAGS). Certaines librairies (gtk, glib, libxml2, libxslt) ont leur propres macros et définissent leurs propres variables (LDFLAGS & co), ce qui facilite le travail (je viens d'en trouver une pour sqlite3).
|
|
|
00
|
|
|
#9 |
|
Membre confirmé
![]() Alexandre PetitjeanIngénieur développement logiciels Inscription : juin 2006 Messages : 280 ![]() |
J'ai trouvé : il faut ajouter la commande complète !
Ce que je faisais dans mon Makefile.am : Ce qu'il faut mettre : le a son importance ! Merci pour les pistes. Pour info, j'ai essayé rapidement le lien par julp, mais ça n'as pas fonctionné directement, Mais ça reste une piste plus qu'interessante pour savoir si une bibliothèque est présente ou non... |
|
|
00
|
|
|
#10 | ||
|
Membre éclairé
![]() Inscription : décembre 2006 Messages : 271 ![]() |
On peut aussi ajouter la directive dans configure.in ou configure.ac.
Code :
Puis lancer la commande : autoreconf (qui execute aclocal, autoheader, autoconf,automake) L'avantage de cette méthode est que la bibilothèque est recherchée dans la commande configure et renvoie une erreur si elle n'est pas trouvée. Un peu de doc : http://www.infres.enst.fr/~dax/polys...re/slide1.html |
||
|
|
00
|
Copyright © 2000-2012 - www.developpez.com