Cross-Compilation et DLL [Résolu] - C - Programmation
Marsh Posté le 26-06-2007 à 21:23:30
Salut à tous, et surtout aux 22 personnes qui m'ont lus! :?
J'ai donc enfin trouvé la réponse au problème qui me turlupinait depuis plusieurs jours, le problème se situe dans la partie statique de la librairie (le .lib).
Si je ne comprends toujours pas comment ça peut fonctionner sous windows, j'ai un début de réponse sous linux. Le problème vient dans un problème de convention de nommage. Je ne rentrerais pas dans les détails (ceux voulant des infos pourront regarder en pages 26-27 de ce pdf : Mode d'emploi de gcc).
Disons simplement que le linker cherchait un nom avec une extension et la lib statique l'avait sans extension.
Donc, ce que j'ai fait pour solutionner mon problème:
Code :
|
l'extension est de la forme @n avec n le nombre d'octets passés sur la pile
Exemple:
Code :
|
Liste des fonctions avec extension
Code :
|
Code :
|
Après cela j'ai compilé normalement et ça a fonctionné impec.
++
Marsh Posté le 25-06-2007 à 22:23:10
Bonjour à tous,
Je souhaiterais développer une appli windows sous linux.
Quelques explications:
Pour compiler, j'ai installé mingw et wine pour les tests. J'ai suivi pour cela les infos de ce site: Cross-Compilation vers win32 et j'ai effectué les tests proposés et ça fonctionne impec.
J'ai donc fait un petit programme simple affichant la version de la bibliothèque de unrar. J'ai donc en fichiers:
La compilation ne pose pas de problème mais vient au niveau du linkage.
Les commandes que j'utilise sont:
L'erreur que je reçois est une erreur de référence indéfinie sur la fonction tirée de la dll après la deuxième commande.
Mes autres essais:
Toute idée est la bienvenue.
Merci
Message édité par nioc_bertheloneum le 26-06-2007 à 21:24:22