référence indéfinie au symbole 'pthread_key_delete @@ GLIBC_2.2.5
Je suis en train de faire un fichier dans Ubuntu et quand je fais, je reçois cette erreur:
/usr/bin/ld: ../../gtest-1.7.0/libgtest.a(gtest-all.cc.o): undefined reference to symbol 'pthread_key_delete@@GLIBC_2.2.5'
/lib/x86_64-linux-gnu/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
make[2]: *** [src/tests/run_tests] Error 1
make[1]: *** [src/tests/CMakeFiles/run_tests.dir/all] Error 2
make: *** [all] Error 2
J'ai vu quelqu'un mentionner à aller dans le Makefile et en lui ajoutant un-L /lib64 -l pthread " pour la variable LDFLAGS mais comment faites-vous cela? Totalement nouveau pour linux ici =X
source d'informationauteur imolital
Vous devez vous connecter pour publier un commentaire.
Ci-dessus reliant problème est résolu par l'ajout d'
Cordialement,
J'ai frappé à la même question: -lpthread devrait être passé dans vos liens d'invocation
(a faire avec une combinaison de parasites et de symboles partagés)
Donc, avec CMake:
${CMAKE_THREAD_LIBS_INIT}
devrait être la dernière. Par exemple:Et pour l'OP: de la Recherche pour "fil" dans le CMakeLists.txt pour le projet de votre immeuble et de les coller l'article (ou du lien projet que vous essayez de construire si c'est de l'open source) - si le ci-dessus n'est pas explicite