Неопределенная ссылка на символ, но я могу найти символ в файле .so [дубликат] ⇐ C++
Неопределенная ссылка на символ, но я могу найти символ в файле .so [дубликат]
Я компилирую фреймворк и обнаруживаю следующую ошибку компоновщика.
/usr/bin/ld: CMakeFiles/LLVMBasedICFGGlobCtorDtorTest.dir/LLVMBasedICFGGlobCtorDtorTest.cpp.o: неопределенная ссылка на символ '_ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS _9StringSetINS_15MallocAllocatorEEEEE' /usr/bin/ld: /home/yuffon/data/programs/llvm14/llvm-install-release/lib/libLLVMLinker.so.14: ошибка при добавлении символов: в командной строке отсутствует DSO clang-14: ошибка: команда компоновщика завершилась неудачно с кодом завершения 1 (используйте -v, чтобы увидеть вызов) Но я могу найти символ в файле .so следующим образом.
$ objdump -tT libLLVMLinker.so.14 |grep _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEEEE 00000000000204f0 l F .text 0000000000000203 _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEEE.localalias 00000000000204f0 g F .text 0000000000000203 _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEEE 00000000000204f0 g DF .text 0000000000000203 Base _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEE Я также добавил путь к файлу .so в LD_LIBRARY_PATH
$ echo $LD_LIBRARY_PATH /home/yuffon/data/programs/llvm14/llvm-install-release/lib:/usr/local/lib:/home/yuffon/programs/Qt5.9.9/lib:/usr/local/cuda/lib64:/usr /local/lib:/home/yuffon/programs/Qt5.9.9/lib:/usr/local/cuda/lib64 Может ли кто-нибудь мне помочь?
Я компилирую фреймворк и обнаруживаю следующую ошибку компоновщика.
/usr/bin/ld: CMakeFiles/LLVMBasedICFGGlobCtorDtorTest.dir/LLVMBasedICFGGlobCtorDtorTest.cpp.o: неопределенная ссылка на символ '_ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS _9StringSetINS_15MallocAllocatorEEEEE' /usr/bin/ld: /home/yuffon/data/programs/llvm14/llvm-install-release/lib/libLLVMLinker.so.14: ошибка при добавлении символов: в командной строке отсутствует DSO clang-14: ошибка: команда компоновщика завершилась неудачно с кодом завершения 1 (используйте -v, чтобы увидеть вызов) Но я могу найти символ в файле .so следующим образом.
$ objdump -tT libLLVMLinker.so.14 |grep _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEEEE 00000000000204f0 l F .text 0000000000000203 _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEEE.localalias 00000000000204f0 g F .text 0000000000000203 _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEEE 00000000000204f0 g DF .text 0000000000000203 Base _ZN4llvm6Linker11linkModulesERNS_6ModuleESt10unique_ptrIS1_St14default_deleteIS1_EEjSt8functionIFvS2_RKNS_9StringSetINS_15MallocAllocatorEEEE Я также добавил путь к файлу .so в LD_LIBRARY_PATH
$ echo $LD_LIBRARY_PATH /home/yuffon/data/programs/llvm14/llvm-install-release/lib:/usr/local/lib:/home/yuffon/programs/Qt5.9.9/lib:/usr/local/cuda/lib64:/usr /local/lib:/home/yuffon/programs/Qt5.9.9/lib:/usr/local/cuda/lib64 Может ли кто-нибудь мне помочь?
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение