PEut on convertir un .:lib en .a pour compiler programme sous Mingw? - Divers - Programmation
Marsh Posté le 14-10-2005 à 09:42:16
Si c'est pas une lib statique, re nomme ton toto.lib en libtoto.a et ça devrait passer. Sinon, je sais pas ce que ça va donner.
Marsh Posté le 14-10-2005 à 09:47:01
HelloWorld a écrit : Si c'est pas une lib statique, re nomme ton toto.lib en libtoto.a et ça devrait passer. |
Un .a c'est pas une archive ar avec des libs statiques dedans, normalement ?
Du coup je ne crois pas que ce soit le même format, mais je ne sais pas à quelle sauce VC++ crée ses .lib
Maintenant y a peut-être moyen de convertir, ou alors faut recompiler la lib sous mingw...
EDIT : je viens de trouver ça, qui devrait aider : http://www.mingw.org/mingwfaq.shtml#faq-msvcdll
Marsh Posté le 14-10-2005 à 10:38:16
Slt,
si un .a est une archive avec des librairies statiques.
Je ne vais pas pouvoir recompiler la lib sous mingw car pour faire cette lib, il a ete utilisé MKS.
Merci pour le lien elmoricq
Marsh Posté le 14-10-2005 à 10:39:29
Slt,
si un .a est une archive avec des librairies statiques.
Je ne vais pas pouvoir recompiler la lib sous mingw car pour faire cette lib, il a ete utilisé MKS.
Merci pour le lien elmoricq
Marsh Posté le 14-10-2005 à 11:54:57
Les .a de MingW sont au format COFF, le même que VC++. J'ai déjà compilé une dll C sous VC++, renommé le .lib en .a, et pu lier avec devcpp.
Marsh Posté le 14-10-2005 à 11:56:36
HelloWorld a écrit : Les .a de MingW sont au format COFF, le même que VC++. J'ai déjà compilé une dll C sous VC++, renommé le .lib en .a, et pu lier avec devcpp. |
Ca veut dire qu'un .a créé sous MingW n'est pas compatible avec un .a créé sous Unix ?
Marsh Posté le 14-10-2005 à 18:09:48
Sûrement. Je connais pas le format sous Unix, je sais que COFF y existe. Et même, vu les différences des plateformes, ça me semble difficilement envisageable / utile. Faudrait demander à Jean-Pierre.
Note que je parle pour les libs d'import. Pour les libs statiques je sais pas ce qu'utilise MingW.
Marsh Posté le 14-10-2005 à 22:16:51
mingw et visual on le même format binaire, les .o sont compatibles .obj, idem .a/.lib
mingw et ggc sous linux ne produisent pas les même binaires.
Marsh Posté le 16-11-2005 à 19:33:16
Slt tous,
J'ai effectivement essayé vos différents conseils. Mais je n'arrive toujours pas à compiler mon programme c et la lib .lib avec gcc de mingw.
Alors j'ai tenté de:
- renommer le .lib en .a
- renommer les .obj en .o puis création du .a
mais ca ne marche pas j'ai les erreurs suivante à la compilation:
Code :
|
J'ai testé aussi ce qui etait écrit ici: http://www.mingw.org/mingwfaq.shtml#faq-msvcdll
Le probleme c'est que losque je fais:
Code :
|
j'ai 8 fichiers sans extension en sortie ayant pour noms: 0 8 14 32 54 132 158 162
Code :
|
en ce qui concerne cette ligne, je n'ai pas de .dll. J'ai recompilé ma .lib en .dll sous VC++ et réappliqué cette commande, mais en sortie mon fichier .def est vide :S
Donc au final je n'ai ni réussi à compiler le .lib avec gcc, ni convertit le .lib en .a
Est ce que quelqu'un sait d'ou cela pourrait venir?
Marsh Posté le 13-10-2005 à 22:40:49
Lo
Voila, j'utilise Mingw pour compiler mes programmes C sur Windows. J'ai une librairie .lib créé avec VC++. Comment compiler mes programmes C avec cette librairie .lib avec Mingw?
Sinon est ce qu'il y a un moyen de convertir un .lib en .a? ca serait tout aussi bien
++