2009-05-27 5 views
2

J'utilise « verbose » pour ld dans une tentative d'obtenir quelque chose d'utile pour trouver le problème, mais il affiche le message d'erreur au milieu d'impression sortie normale « verbose »:Qu'est-ce qui fait que l'éditeur de liens ne donne que le message "ld return 1 exit status"?

[...blah - dump of linker script...] 
attempt to open blah1.o succeeded 
blah1.o 
attempt to open blah2.o succeeded 
blah2.o 
[...blah - more opens that succeeded...] 
attempt to open blah9.o succeeded 
blah9.o 
attemcollect2: ld returned 1 exit status 

par Invoqué:

gcc blah1.o [...blah...] blah9.o blahLib1.a blahLib2.a -g -lc -nostdlib -Wl,--warn-constructors -fpic -fno-pic -Wl,-q -Wl,-gc-sections -Wl,--verbose -T blahScript.ld -lm -o blahProgram.elf 
+0

Avez-vous trouvé le problème? –

+0

Malheureusement non. Je n'ai pas travaillé sur ce genre de choses depuis lors, donc je ne peux pas dire que j'essayais activement de le comprendre récemment. Le script personnalisé fonctionne sur les machines des autres, donc ce n'était pas ça. Cela doit être quelque chose d'étrange avec mon environnement de construction. –

Répondre

1

C'est une erreur générique. Habituellement causé par une référence indéfinie à un symbole.

Je ne pense pas que vous avez besoin de --verbose pour voir l'erreur. ld devrait imprimer la cause de l'erreur dans tous les cas. Essayez de le lancer sans --verbose et examinez attentivement chaque ligne de la sortie.

+0

C'est la partie étrange - il n'y a pas d'autre texte imprimé que ce soit. Juste le "ld a retourné 1 statut existant". –

+0

Quelle est la ligne de commande que vous utilisez? –

+0

OP mis à jour avec la commande invoquée. –