Bonjour,
Je cherche à compiler mon projet à travers CMake, avec la librairie openNURBS.
Avec certaines configuration de mon CMakeLists.txt, j'arrive à compiler, mais à l'exécution j'obtiens une erreur
symbol lookup error: PATH/lib/libmyModeler.so: undefined symbol: _ZN13ON_NurbsCurveC1Ev
Je suis sûre que le problème provient de ma façon d'inclure openNURBS (--> la librairie libopenNURBS.a) dans le CMakeLists.txt, car d'autres projets ont déjà compilé correctement avec openNURBS, mais je n'arrive pas à copier leur fonctionnement...
Voici l’arborescence de mon projet :
myProject
CMakeLists.txt
src/
CMakeLists.txt*.cpp *.hinclude/
opennurbs/build/
CMakeLists.txtMakefilelibopenNURBS.a*.cpp *.h
dossier de compilation
J'ai compilé openNURBS, ce qui a créé libopenNURBS.a et des .o dans le dossier include/opennurbs/
Dans mon CMakeLists.txt principal, celui à la racine du projet (myProject/CMakeLists.txt), j'ai les lignes suivantes pour openNURBS :
Pour compiler, je lance les commandes suivantes depuis le dossier build
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 cmake_minimum_required (VERSION 2.6) PROJECT (myProject) ... include_directories (${PROJECT_SOURCE_DIR}/include/opennurbs) add_subdirectory (${PROJECT_SOURCE_DIR}/include/opennurbs) SET_TARGET_PROPERTIES(opennurbs PROPERTIES LINKER_LANGUAGE CXX)
Dans la configuration de ccmake, j'indique l'option de compilation -fPIC
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 ccmake ../ cmake ../ make
Au début de la compilation, il m'affiche
et il compile jusqu'au bout. Sauf qu'a l'exécution, j'ai cette erreur "undefined symbol"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4 Scanning dependencies of target opennurbs Linking CXX static library libopennurbs.a [ 0%] Built target opennurbs ...
Votre aide est la bienvenue !
Partager