/usr/bin/ld: CMakeFiles/xxxx/yyyyy.cpp.o: undefined reference to symbol 'pthread_sigmask@@GLIBC_2.2.5'
//usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status
原因:
CMakeList.txt 错误
find_package(Threads REQUIRED)
之后少写了链接库位置
target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})
本文解析了在使用CMake构建项目时遇到的链接错误,具体为找不到pthread库符号'pthread_sigmask'的问题。错误源自CMakeLists.txt配置不当,未正确指定链接库位置。通过在find_package(ThreadsREQUIRED)后添加target_link_libraries命令并指定项目名称、Boost库及初始化线程库,成功解决了该问题。
1767

被折叠的 条评论
为什么被折叠?



