[CMAKE] undefined reference to
Bonjour,
Lors de que je lance le Makefile qui est généré par l’outil CMAKE la compilation de mon exécutable s’arrête et m'affiche :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46
| [ 5%] Building CXX object commun/configuration/src/config/CMakeFiles/COMMUN_blaConfig.dir/blaConfig.cpp.o
Linking CXX shared library libCOMMUN_blaConfig.so
[ 5%] Built target COMMUN_blaConfig
[ 11%] Building C object commun/configuration/src/xml_tags/CMakeFiles/COMMUN_XML_TAGS.dir/config_tags.c.o
Linking C shared library libCOMMUN_XML_TAGS.so
[ 11%] Built target COMMUN_XML_TAGS
[ 16%] Building CXX object commun/transcode/src/CMakeFiles/COMMUN_Trancecode.dir/transcode.cpp.o
Linking CXX shared library libCOMMUN_Trancecode.so
[ 16%] Built target COMMUN_Trancecode
[ 22%] Building C object commun/divers/CMakeFiles/COMMUN_FGETS2.dir/src/fgets2.c.o
Linking C shared library libCOMMUN_FGETS2.so
[ 22%] Built target COMMUN_FGETS2
[ 27%] Building CXX object commun/chiffrement/src/CMakeFiles/COMMUN_CHFT_FEDEKEY.dir/fedekey.cpp.o
Linking CXX shared library libCOMMUN_CHFT_FEDEKEY.so
[ 27%] Built target COMMUN_CHFT_FEDEKEY
[ 33%] Building CXX object chft_outils_dechiffrement/metier/CMakeFiles/BLA_CHFT_MET_OBJ.dir/chft_op_cpp.cpp.o
[ 38%] Building CXX object chft_outils_dechiffrement/metier/CMakeFiles/BLA_CHFT_MET_OBJ.dir/BLAChftCharg.cpp.o
[ 44%] Building CXX object chft_outils_dechiffrement/metier/CMakeFiles/BLA_CHFT_MET_OBJ.dir/blaChftKLect.cpp.o
Linking CXX shared library libbla_CHFT_MET_OBJ.so
[ 44%] Built target bla_CHFT_MET_OBJ
[ 50%] Building C object chft_outils_dechiffrement/metier/CMakeFiles/bla_CHFT_OP_OBJ.dir/chft_operations.c.o
Linking C shared library libbla_CHFT_OP_OBJ.so
[ 50%] Built target bla_CHFT_OP_OBJ
[ 55%] Building C object chft_outils_dechiffrement/metier/ncipher/CMakeFiles/DCHFT_METIER_NCIPHER.dir/chft_ncipher_op.c.o
[ 61%] Building C object chft_outils_dechiffrement/metier/ncipher/CMakeFiles/DCHFT_METIER_NCIPHER.dir/simplebignum.c.o
Linking C shared library libDCHFT_METIER_NCIPHER.so
[ 61%] Built target DCHFT_METIER_NCIPHER
[ 66%] Building C object chft_outils_dechiffrement/metier/openssl/CMakeFiles/DCHFT_METIER_OSSL.dir/chft_openssl_op.c.o
Linking C shared library libDCHFT_METIER_OSSL.so
[ 66%] Built target DCHFT_METIER_OSSL
[ 72%] Building C object chft_outils_dechiffrement/commun/CMakeFiles/bla_CHFT_COMMON_OBJ.dir/chft_consts.c.o
Linking C shared library libbla_CHFT_COMMON_OBJ.so
[ 72%] Built target bla_CHFT_COMMON_OBJ
[ 77%] Building CXX object chft_outils_dechiffrement/api/CMakeFiles/bla_CHFT_API_OBJ.dir/chft_init.cpp.o
[ 83%] Building CXX object chft_outils_dechiffrement/api/CMakeFiles/bla_CHFT_API_OBJ.dir/chft_op.cpp.o
Linking CXX shared library libbla_CHFT_API_OBJ.so
[ 83%] Built target bla_CHFT_API_OBJ
[ 88%] Building CXX object chft_outils_dechiffrement/test/CMakeFiles/testInit.dir/main.cpp.o
Linking CXX executable bin/testInit
CMakeFiles/testInit.dir/main.cpp.o(.text+0x2e8): In function `main':
: undefined reference to `init_CHFTLib(std::basic_string<char, std::char_traits<char>, std::allocator<char> >, blaLogger*)'
CMakeFiles/testInit.dir/main.cpp.o(.text+0x593): In function `main':
: undefined reference to `cryptFederationKey(unsigned long, unsigned long, blaLogger*)'
collect2: ld a retourné 1 code d'état d'exécution
make[2]: *** [chft_outils_dechiffrement/test/bin/testInit] Erreur 1
make[1]: *** [chft_outils_dechiffrement/test/CMakeFiles/testInit.dir/all] Erreur 2 |
mon fichier CMakeLists est le suivant :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
| cmake_minimum_required(VERSION 2.8)
#Déclaration du projet
project(bla)
set(EXECUTABLE_OUTPUT_PATH bin/${CMAKE_BUILD_TYPE})
add_executable(
${MAINTEST}
main.cpp
)
include_directories(${CMAKE_BINARY_DIR})
#Configuration de l'édition de liens
target_link_libraries(
${MAINTEST}
${LIB_FOR_MAIN}
)
target_link_libraries(
${MAINTEST}
${LIBS})
add_definitions(
${CPLUS_FLAGS}
$(CFLAGS_OPTIONS)
)
add_definitions(${GCC4_COMMON_FLAGS} ${CMAKE_SHARED_LIBRARY_CREATE_CXX_FLAGS})
include_directories(
${BLA_CHFT_API_DIR}
${BLA_CHFT_COMMON_DIR}
"${HOME}/bla/dev/commun/configuration/src/config"
"${HOME}/bla/dev/commun/traces/src/gestLog"
"${HOME}/apache/include"
"${HOME}/bla/dev/commun/include"
"${HOME}/bla/dev/commun/chiffrement/src") |
j'ai l'impression que il n'arrive pas a faire le lien avec les lib qu'il sont compilé juste avant ou avec les include
auriez vous une idée d'ou cela pourrais venir?
merci d'avance