Désarchiver une bibliothèque statique ?

xbabilone Messages postés 47 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 7 janvier 2018 - Modifié par xbabilone le 5/02/2014 à 07:00
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 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?


Merci !

4 réponses

dragonjoker59 Messages postés 92 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 23 septembre 2015
26 févr. 2014 à 11:44
Bonjour !

Euh, quel est l'objetif du désarchivage d'un .lib ?
0
xbabilone Messages postés 47 Date d'inscription vendredi 18 février 2005 Statut Membre Dernière intervention 7 janvier 2018 2
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é.

--
0
dragonjoker59 Messages postés 92 Date d'inscription samedi 26 mars 2005 Statut Membre Dernière intervention 23 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
0
ToutEnMasm Messages postés 587 Date d'inscription jeudi 28 novembre 2002 Statut Membre Dernière intervention 13 décembre 2022 3
Modifié par cptpingu le 3/03/2014 à 11:29
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.
0
Rejoignez-nous