format de fichier non reconnu; le traiter comme linker script
je suis nouveau sur le compilateur gcc.
Mon ami a écrit ce script (filtre graphique) pour moi, mais je ne peux pas l'utiliser parce que je reçois l'erreur.
J'ai 2 répertoire et un fichier C:
-dir- include --> basics.h common.h freeimage.h hqx.h imageIO.h pcxIO.h
-dir- lib --> libfreeimage-3.13.1.so libfreeimage.a libfreeimage.so.3 libhqx.a libhqx.so libhqx.so.1 libhqx.so.1.0.0
scaling.c
j'essaie de compiler avec cette commande:
gcc scaling.c -I./include -L./lib -lm -lfreeimage -lhqx -lstdc++ -o filter
Mais je reçois cette erreur:
/usr/lib/gcc/i486-slackware-linux/4.2.4/../../../../i486-slackware-linux/bin/ld:./lib/libhqx.so: file format not recognized; treating as linker script
/usr/lib/gcc/i486-slackware-linux/4.2.4/../../../../i486-slackware-linux/bin/ld:./lib/libhqx.so:1: syntax error
collect2: ld returned 1 exit status
Merci d'avance et désolé pour mon anglais.
OriginalL'auteur MarcoD | 2011-04-05
Vous devez vous connecter pour publier un commentaire.
L'éditeur de liens traiter n'importe quel fichier qui ne ressemble pas à un fichier de l'objet ou de la bibliothèque comme un linker script contenant les commandes pour spécifier la manière de relier qui doit être fait. Des choses comme des adresses de chargement, la section définitions, etc.
Apparemment libhqx.afin de ne pas ressembler à une bibliothèque partagée sur votre système. Je suppose qu'il a été construit sur de votre ami?
Pour obtenir une idée de ce que la fichier, utilisez la commande file. Vous devriez obtenir quelque chose comme:
Si non, vous aurez à construire ou trouver une bibliothèque compatible avec votre système.
Il est possible de partager lib avec cette commande:
echo "/dir/lib" >> /etc/ld.so.conf /sbin/ldconfig
Qui travaillent pour une erreur d'exécution lors de l' .si le fichier ne peut pas être trouvé par l'éditeur de liens dynamique, mais ne suffit pas à résoudre votre problème. Vous devez obtenir votre programme lié avant, vous allez lancer dans l'erreur d'exécution. 😉
Ok, merci encore.
OriginalL'auteur Richard Pennington
J'ai eu un problème similaire hier, et je pense que votre libhqx.c'était un lien symbolique vers libhqx..1.0.0 ou à libhqx..1 de votre ami de la machine, et quand vous l'avez copié ces fichiers, ce lien était rompu. (au moins, c'était la situation dans notre système, et le problème a été résolu après nous supprimer le .sorte de fichiers, et créer un lien symbolique)
OriginalL'auteur gincsait