Articles of linker

Comment se lier correctement dans Makefile?

Ceci est mon makefile: cpp2html: cpp2html.o lex.yy.o gcc -c cpp2html.o lex.yy.o cpp2html.o: cpp2html.c gcc -c cpp2html.c lex.yy.c: cppscanner.l flex cppscanner.l lex.yy.o: lex.yy.c gcc -c lex.yy.c Lorsque j’essaie de l’exécuter, j’obtiens cette erreur: gcc -c cpp2html.o lex.yy.o gcc: warning: cpp2html.o: linker input file unused because linking not done gcc: warning: lex.yy.o: linker input file unused because […]

Liaison dynamic dans la bibliothèque C (lib * .so)

J’ai écrit un code où il prendrait un fichier exécutable et la bibliothèque [lib * .so] comme arguments et lien @ Run-time. Je souhaite également intégrer la fonction dans le fichier (* .o) @ run-time et la lier . Mais je ne sais pas comment s’y prendre. EDIT 1: La fonction que j’essaie de lier […]

Comment $ PATH est-il utilisé en dehors du shell?

On m’a récemment demandé pourquoi une bibliothèque particulière (Accelerate) n’est pas incluse dans la variable $ PATH de notre environnement Mac. Ma réponse à cela est que $ PATH est un concept de shell, pas un concept de système d’exploitation. Je ne m’attends pas à ce que les bibliothèques soient incluses dans $ PATH car […]

Erreur de liaison – Utilisez nm pour corriger

J’ai une erreur de liaison que je suis censé corriger en utilisant la commande nm sous Unix. Si j’ai l’erreur de liaison suivante: undefined reference to ‘program_name’ et lors de l’exécution de nm sur ce fichier object, le symbole program_name apparaît comme suit dans la table des symboles: U program_name . Je sais que program_name […]

Chargement de l’éditeur de liens dynamic

Si l’éditeur de liens / chargeur dynamic est lui-même un fichier object partagé, comment est-il correctement chargé dans un espace image de processus d’un programme lié dynamicment s’il ne s’y trouve pas déjà? Est-ce une sorte de prise?

Erreur du compilateur GCC

main: main.o print.o credits.o hello.o gcc -o main main.o print.o credits.o hello.o main.o: main.c hello.h gcc -c -o main.o main.c print.o: print.c hello.h gcc -c -o print.o print.c credits.o: credits.c hello.h gcc -c -o credits.o credits.c hello.o: hello.h gcc -c -o hello.o hello.h Je reçois cette erreur lorsque j’utilise la commande make /usr/bin/ld:hello.o: file format […]

Erreur de symbole non définie lors du chargement du fichier .so dans un script python

J’ai un code C ++ pour lequel j’ai créé un fichier .so. Mon objective est de charger ce fichier .so dans un script python. Afin d’exposer les méthodes C ++, je crée une méthode C wrapper pour elles et expose la méthode C. Cependant, lorsque vous essayez de charger le fichier .so dans un script […]

Calcul ELF standard et décalage de relocalisation

J’ai du mal à comprendre comment un éditeur de liens effectue la relocalisation. Selon le manuel ELF (section Déplacement, page 27), un déplacement de type R_386_PC32 est effectué en calculant la quantité S + A – P (voir le manuel ELF à la page 29). Considérons maintenant l’en-tête ELF suivant: ELF Header: Magic: 7f 45 […]

Comment réparer: /lib64/libstdc++.so.6: version CXXABI_1.3.8 ‘introuvable (requirejs par )

Je suis confronté au problème suivant. J’essaie d’exécuter un programme avec les indicateurs ci-dessous sur un serveur avec (GCC) 4.8.5 20150623 (Red Hat 4.8.5-4). FLAGS=-O3 -std=c11 -g -fopenmp CXXFLAGS=-O3 -std=c++11 -g -fopenmp LDFLAGS=-fopenmp Lorsque vous exécutez directement l’exécutable (par exemple, – ./merge_parallel), il fonctionne correctement. Mais, lorsque j’essaie d’exécuter le même exécutable dans un script […]

Erreur de génération Libxlsxwriter sur HP-UX

J’essaie de comstackr une bibliothèque libxlsxwriter en suivant les instructions disponibles sur https://libxlsxwriter.github.io/getting_started.html Je suis sous licence HP-UX dev B.11.31 U ia64 pour utilisateurs illimités. Obtenir une erreur Make: Doit être un séparateur sur la ligne de règles 11. Stop. J’ai suivi de nombreuses options comme la conversion d’espaces en tab, car ce fichier makefile […]