Bonjour à tous,
je vous écris car je rencontre des problèmes que j'ai du mal à décrypter :
mon environnement de travail est une machine AIX 5.3, et je tente de compiler un petit ensemble de fichier en une bibliothèque partagée (.a sous AIX), qui a la particularité de n'avoir aucun point d'entrée (main).
le makefile que j'utilise contient ceci :
voici ce que j'obtiens :fichier : libfichier.a
libfichier.a : $(Mon_rep)/fichier.c $(Mon_rep)/fichier.h $(Mon_rep)/version.h $(Mon_rep)/fichier.exp
/usr/vac/bin/cc_r -bM:SRE -bnoentry -bE:$(Mon_rep)/fichier.exp -lm -o $@ $(Mon_rep)/fichier.c -I(EXPAT_ROOT)/include -I(AUTRE_ROOT)/include -I. -L$(EXPAT_ROOT)/lib -brtl -L/home/autre/bin -lexpat -lautre
j'ai donc modifier mes options de compilations pour avoir plus d'info et j'obtiens :[...] <= jusqu'ici tout à l'ai de bien se passer
RC: Highest return code was 0.
/usr/vac/bin/cc_r -O fichier.c -o fichier
ld: 0711-317 ERROR:Undefined symbol: .main
ld: 0711-345 Use the bloadmap or bnoquiet option to obtain more information.
make: The error code from the last command is 8.
Et là je sèche... je ne comprend pas trop ce qui est marqué, alors si vous avez une idée de ce qui se passe, merci d'avance pour votre aide.[...]
LIBRARY: Shared object libc.a[pty.o]: 1 symbol imported.
FILELIST: Number of previously inserted files processed: 5
(ld): resolve
RESOLVE: 39 of 5644 symbols were kept.
(ld): addgl /usr/lib/glink.o
ADDGL: Gling code added for 4 symbols.
ld 0711-318 ERROR: Unedfined symbols were found.
The following symbols are in error:
Symbol || Inpndx || TY || CL ||Source-File(Object-File) OR Import-File(Shared-object) || RLD: || Adress || Section || Rld-type || Referencing || Symbol
.main || [8] || ER || PR || crt0main.s(/lib/crt0.o) || || 00000088 || .text || R_RBR || [30] || .__start
ER: The return code is 8.
Serait-ce lié à crt0.o ? je ne sais pas pourquoi j'ai l'impression que ça vient d'une lib C ce truc (bref : ).
Partager