[C] souligné

souligné [C] - C - Programmation

Marsh Posté le 06-01-2012 à 12:41:43    

Bonjour,
 
J'ai un problème de compilation.
J'utilise la suite Watcom et durant la compilation
elle ajoute un souligné à la fin.
Le problème est que les liens extérieurs ne sont pas
identifiés correctement.
 
==========
Error! E2028: __imp_Perl_get_context_ is an undefined reference
Error! E2028: __imp_Perl_croak_xs_usage_ is an undefined reference
Error! E2028: __imp_Perl_xs_apiversion_bootcheck_ is an undefined reference
Error! E2028: __imp_Perl_xs_version_bootcheck_ is an undefined reference
Error! E2028: __imp_Perl_newXS_ is an undefined reference
Error! E2028: __imp_Perl_call_list_ is an undefined reference
==========
==========
__imp__Perl_get_context.............................................perl514.dll
__imp__Perl_croak_xs_usage..........................................perl514.dll
__imp__Perl_xs_apiversion_bootcheck.................................perl514.dll
__imp__Perl_xs_version_bootcheck....................................perl514.dll
__imp__Perl_newXS...................................................perl514.dll
__imp__Perl_call_list...............................................perl514.dll
==========
 
Que faire? Car je ne peux pas changer perl514.dll?
 
Merci.
 
Bye,
Jean-Louis

Reply

Marsh Posté le 06-01-2012 à 12:41:43   

Reply

Marsh Posté le 06-01-2012 à 13:14:08    

Je crois que le compilateur décore la fonction en fonction du type de convention d'appel. Renseignes toi sur les règles d'appel stdcall cdecl et compagnie... ( http://www.unixwiz.net/techtips/win32-callconv.html pour comprendre un mieux )


Message édité par breizhbugs le 06-01-2012 à 13:16:40

---------------
Seul Google le sait...
Reply

Marsh Posté le 06-01-2012 à 14:53:56    

Ca c'est pour l'avant.
Mais là, ils se sont compris. Deux soulignés devant les deux!
Le problème est à l'arrière...

Reply

Marsh Posté le 06-01-2012 à 16:11:46    

Tu compiles bien en C et pas en C++?
le seul exemple que je vois avec un _ final c'est dans
http://en.wikipedia.org/wiki/Name_mangling
section Handling of C symbols when linking from C++
avec un compilateur qui ajoute un _ final quand le mot clé "extern" n'est pas utilisé, mais c'est en C++.


---------------
Seul Google le sait...
Reply

Marsh Posté le 08-01-2012 à 15:53:01    

Oui, et j'ajoute le flag pour être certain!

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed