Rechercher : dans
Par :

[AIX 5.3 TL4][xlc] Problème Edition de lien

Dernière réponse le 10 jan 2007 à 17:07:09 B@|-|@N, le 10 jan 2007 à 15:11:55 
 Signaler ce message aux modérateurs

Bonjour à toutes et à tous.

Je compile un fichier de la manière suivante :

xlc -c -v -bnoquiet -q64 -qnolm -I ./ -DAPIFT_UNIX monFichier.c
Lors de la compilation, tout va bien.

J'utilise alors la ligne suivante pour l'édition de liens :
/bin/ld -b64 /lib/crt0_64.o -bpT:0x100000000 -bpD:0x110000000 -bnoquiet monFichier.o -L/usr/vac/lib -lxlopt -lc
J'ai alors l'erreur suivante qui s'affiche :
(ld): er full
ld: 0711-318 ERROR: Undefined symbols were found.
        The following symbols are in error:
 Symbol                    Inpndx  TY CL Source-File(Object-File) OR Import-File{Shared-object}
                              RLD: Address  Section  Rld-type Referencing Symbol
 ------------------------------------------------------------­--------------------
 .main                     [10]    ER PR crt0_64.s(/lib/crt0_64.o)
                                   00000090 .text    R_RBR    [34]    .__start
ER: The return code is 8.
En ajoutant l'option -v lors de mon édition de liens, j'ai la liste de tous les symboles importés et en effet, le symbole __start n'y est pas.

Comment cela se fait-ce ?
Ce symbole est-il standard ?
Et surtout, quelle librairie puis-je ajouter à ma ligne d'édition de liens pour que ce symbole soit résolu ?

Merci d'avance.

Bahan
Configuration: Windows XP
Firefox 2.0

1

 Char Snipeur, le 10 jan 2007 à 17:07:09

Salut.
Il me semble que __start c'est le nom machine de main() en quelque sorte.
Est tu sur d'avoir un point d'entrée?
pour être sur, crée un petit fichier :

int main()
   {
    return 1;
   }
compile le et lie le. En fonction de l'erreur retourner par l'editeur de lien, tu saura si j'ai raison, ou si il faut chercher ailleurs.
Je connait pas ce compilo en plus.
Bonne chance Salutation !
Char Snipeur

Répondre à Char Snipeur