[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

probleme autoconf automake



Bonjour a tous,

j'aimerait utiliser (ou plutot je suis oblige d'utiliser) les autotools pour compiler et distribuer un programme de type serveur modulaire et je rencontre pas mal de problemes depuis le debut.

mon architecture de repertoire est la suivante:

./src
./src/core --> contient main.cpp
./src/core/rep1 --> contient des .cpp utiles a la compilation du serveur
./src/core/rep2 --> idem
./src/core/repn --> idem

donc j'ai suivi les indications de divers tutos expliquants que pour compiler, je devais passer par autant de libs statiques que de sous repertoires necessaires a ma compile. j'ai donc les fichiers suivants:

./src/core/rep1/librep1.a
./src/core/rep2/librep2.a
./src/core/repn/librepn.a

que je link ensuite a mon main.o grace a la macro LDADD

la petite feinte dans tout cela, viens du fait que mon serveur doit linker avec : -Wl,--export-dynamic (pour que les modules puissent acceder aux fonctions et classes du serveur).

Question 1) : lorsque je lance mon serveur, il essaye de loader les differents modules, et avec la nouvelle architecture (autotools - avant j'etait avec un makefile a la main qui faisait un seul link d'un coup), il me dit que certains symbols sont introuvables (synonyme de mauvais export-dynamic cote serveur). je n'arrive pas a comprendre, ni a trouver sur le net une maniere qui me permette de bien compiler mon serveur. qq'un pourrait-il me donner un coup de main?

Question 2) : mes modules doivent etre compiles en .so. ils se trouvent dans un sous repertoire de src possedant l'architecture suivante:
./src/modules/mod1/ --> .cpp et .h du module1
./src/modules/mod2/ --> idem
./src/modules/modn/ --> idem

comment faire pour les compiler proprement ? (en .so). certains disent qu'il faut du libtool, d'autres semblent partis pour faire du automake aussi, ...  bref je suis un peu perdu. un petit coup de main serait le bienvenue :)


Merci d'avance, bonne journee a tous.

--
105 116 039 115 032 110 111 116 032 097
032 098 117 103 044 032 105 116 039 115
032 097 032 102 101 097 116 117 114 101
Reply to: