Linker sans compiler

Signaler
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
-
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
-
hello tt le monde

j'ai plusieurs .obj créés soit par nasm soit par Dev-C++ soit par
VC++6, et normalament en liant tt ca on devrait pouvoir avoir un .exe.

seulement je ne trouve dans aucun des compilateurs que j'ai comment
faire pour lier ces 2 fichiers sans qu'il m'enquiquine avec la
compilation (déja faite, d'ou les .obj).

je sais que djgpp peut le faire, mais pour ca faut dl 10 Mo et ca
saoule ( tout le monde ici finira par le savoir, que j'ai un 56k...)

voila, si vous connaissez les options qu'il faut mettre dans le compilo
pour qu'il fasse sa besogne sans rechignier, je vous en serais gré;



++

Arnaud

_______________________


Omnia vincit labor improbus

5 réponses

Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
Link.exe /nologo /SUBSYSTEM:WINDOWS %fOut%obj %myDir%*.obj
%fOut%obj : liste de tes fichiers obj avec chemin séparés par un espace.

ciao...
BruNews, MVP VC++
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
c'est quoi %myDir%*.obj ?
ou c'est qu'on rentre le fichier de sortie ( le .exe) ?

en fait le pb c'est que ton truc marche mais il me met 10 erreurs (unresolved external...)

driver.obj est le fichier driver.c compilé avec dev-c++ (ou vc6 ? je sé plus)

squelette.obj est le fichier squelette.asm compilé avec nasm

normalement les 2 sont bien écrits, je les ai repris du cours de paul
carter (super, ceci dit) . d'ou viennent les erreurs de liage?

merci bcp


_______________________


Omnia vincit labor improbus
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
oups... évidemment capouvait pass marcher j'avais pas compilé asm_io.asm

je sais qu'ici c'est pas asmfr.com, mais j'en profite... :

quand je compile asm_io.asm avec nasm, il rale pasque "short jump is
out of range" a la ligne 376; oc a cette ligne il n'y a pas de jmp mais
un loop vers mem_outer_loop: ;d'apres mon bouquin pour les jump on peut
rajouter word devant un jump si il faut se déplacer de plus de 128
octets (ce qui a l'air d'etre le cas) mais si je fais ca il me dit
mismatch in operand sizes, toujours a la meme ligne... bouh.

what's the matter?

merci

ad

_______________________


Omnia vincit labor improbus
Messages postés
21042
Date d'inscription
jeudi 23 janvier 2003
Statut
Modérateur
Dernière intervention
21 août 2019
27
jmp short label doit être compris dans la plage de 127 octets max. sinon jmp label.

ciao...
BruNews, MVP VC++
Messages postés
1329
Date d'inscription
vendredi 15 août 2003
Statut
Membre
Dernière intervention
16 juin 2010
2
ben en fait.... (preuve que quand je veux je peux....) c'est juste que
les options que j'utilisais pour lier était mauvaises, maintenant ca
marche.

dans le meme ordre d'idée que link.exe, dans le répertoire /vc98/bin ya
un .exe du nom de cl.exe, qui est censé compiler le C. quand je fais CL
driver.c, la compilation se passe bien, le .obj est créé, mais il
'plante' pasqu'il arrrive pas a lier (normal, il est pas censé le
faire).

je me suis tapé toutes les options pour voir si yena une qui l'empeche
de lier, mais j'ai rien trouvé... ca existe vraiement pas ou je louche?

merci

_______________________


Omnia vincit labor improbus