gcc 4.5.1 Fedora 14 Linux
J’ai cette bibliothèque statique qui a été construite à partir d’un programmeur précédent. Cependant, il a quitté l’entreprise et nous n’avons pas le code source. Tout ce que nous avons, ce sont les fichiers d’en-tête *.h
et la bibliothèque statique libnet.a
.
Lorsque je suis, essayez de lier cela avec notre application. Je reçois une incompatible linker error
. Je pense que le problème est que la bibliothèque statique a été construite sur une machine 32 bits. Et j’essaie de relier en utilisant une machine 64 bits. Je pourrais comstackr mon application en utilisant le cflag -m32. Cependant, je veux juste savoir s’il y a une commande qui me donnera si la bibliothèque statique a été construite en mode 32 ou 64 bits?
Merci beaucoup pour toutes suggestions,
Une archive .a
n’est qu’une collection d’objects, alors pourquoi pas:
ar x libnet.a file someobj.o
Cela vous donnera une réponse comme:
someobj.o: ELF 64-bit LSB relocatable, x86-64, version 1 (SYSV), not ssortingpped
Juste courir le file
dessus pourrait être suffisant?
L’ouvrir dans un éditeur hexadécimal avec une vue ascii peut révéler des indices