Outils pour utilisateurs

Outils du site


probleme:liaison

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
probleme:liaison [2023/01/24 10:59] – Ajout de "relocation R_X86_64_32 against `...' can not be used when making a shared object; recompile with -fPIC" rootprobleme:liaison [2023/04/03 11:58] (Version actuelle) – Ajout de "error: undefined symbol" root
Ligne 1: Ligne 1:
 ====Messages d'erreur==== ====Messages d'erreur====
 +
 +===error: undefined symbol===
 +
 +  * Est-ce que le symbole existe ?
 +
 +Le premier point est de vérifier existe dans l'une des librairies ou fichiers objets que l'on souhaiter regrouper. Voir [[debug:librairie#recuperer_la_liste_des_symboles_dans_une_librairie|nm]].
 +
 +  * Est-ce que l'ordre de liaison est le bon ?
 +
 +Si les symboles sont bien existants, il faut vérifier que l'ordre de liaison est le bon. Par exemple, avec le message d'erreur :
 +
 +<code>
 +ld.lld: error: undefined symbol: Magnum::GL::Context::tryCreate()
 +>>> referenced by GLContext.h:151 (...\Magnum/Platform\GLContext.h:151)
 +>>>               .../file.cpp.o:(Magnum::Platform::GLContext::tryCreate())
 +</code>
 +
 +Il faut essayer d'inverser l'ordre du fichier ''file.cpp.o'' et ''libMagnumGL.a'' (qui contient le symbole ''Magnum::GL::Context::tryCreate()'').
 +
 +  * Mélange de librairies dynamiques et statiques ?
 +
 +En 64 bit, pour fusionner les librairies statiques vers des librairies dynamiques, il est nécessaire d'activer la fonctionnalité ''-fPIC''.
  
 ===ld: error: ….a(…): requires dynamic R_X86_64_PC32 reloc against '…' which may overflow at runtime; recompile with -fPIC=== ===ld: error: ….a(…): requires dynamic R_X86_64_PC32 reloc against '…' which may overflow at runtime; recompile with -fPIC===
Ligne 16: Ligne 38:
  
 [[https://www.technovelty.org/c/position-independent-code-and-x86-64-libraries.html|Position Independent Code and x86-64 libraries]] {{ :probleme:liaison:position_independent_code_and_x86-64_libraries_24_01_2023_10_56_48_.html |Archive du 05/01/2013 le 24/01/2023}} [[https://www.technovelty.org/c/position-independent-code-and-x86-64-libraries.html|Position Independent Code and x86-64 libraries]] {{ :probleme:liaison:position_independent_code_and_x86-64_libraries_24_01_2023_10_56_48_.html |Archive du 05/01/2013 le 24/01/2023}}
 +
 +
probleme/liaison.1674554353.txt.gz · Dernière modification : 2023/01/24 10:59 de root