xbabilone
Messages postés47Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 janvier 2018
-
Modifié par xbabilone le 5/02/2014 à 07:00
ToutEnMasm
Messages postés587Date d'inscriptionjeudi 28 novembre 2002StatutMembreDernière intervention13 décembre 2022
-
2 mars 2014 à 18:31
Salut à tous.
Sous linux pour désarchiver une bibliothèque statique on utilise "ar".
Mais pour Windows, quel est l'équivalent ?
J'ai un fichier libxxx.a compiler pour visual c++ et je voudrai extraire les fichiers .obj .
J'ai essaye de désarchiver un fichier .lib compiler pour devc++ et "ar " y arrive.
Mais pour libxxx.a compiler pour visual c++ ,"ar" me dit qu'il reconnait l'archive mais qu'il ne la traite pas.
exemple de message d'erreur:
$ ar xv opencv_core248.lib
BFD: opencv_core248.lib(opencv_core.dir/Release/opencv_core_pch.obj): Recognised but unhandled machine type (0x8664) in Import Library Format archive
Donc qu'elle type d'archive est utilisé par microsoft?
xbabilone
Messages postés47Date d'inscriptionvendredi 18 février 2005StatutMembreDernière intervention 7 janvier 20182 26 févr. 2014 à 20:32
Je ne suis pas un specialiste .
Mais pourquoi pas .
recuperer les fichiers .obj compiler pour visualc++ et recompiler avec devc++.
Et puis par curiosité.
dragonjoker59
Messages postés92Date d'inscriptionsamedi 26 mars 2005StatutMembreDernière intervention23 septembre 2015 27 févr. 2014 à 10:10
Euh ... J'ai toujours un doute.
Notamment car je pense qu'il n'est pas possible de prendre les .obj d'un compilateur pour les donner au linker d'un autre... (si je ne me trompe pas, DevC++ se base sur GCC.
De plus, comme je l'ai mis, les .obj vont au linker, pas au compilateur.
Je ne vois toujours pas l'intérêt de désarchiver un .lib
C'est tout a fait possible avec LIB.EXE /EXTRACT
Le seul inconvénient est que la bibliothèque contient le chemin complet du fichier objet et que c'est ce chemin que l'on doit passer à LIB.
Dumppe /ALL (vc++ express ou +) permet d'avoir ce chemin.
Ce n'est pas pratique, d'où un conseil:
Télécharger le masm32 package (version 11),il contient un utilitaire, polib dont l'option /EXPLODE sort tous les fichiers objets d'une bibliothèque sans poser de questions.