完整報錯:
====================[ Build | AsyncLogger | Debug ]=============================
/snap/clion/169/bin/cmake/linux/bin/cmake --build /home/dyy/CLionProjects/AsyncLogger/cmake-build-debug --target AsyncLogger -- -j 6
[ 50%] Linking CXX executable AsyncLogger
/usr/bin/ld: CMakeFiles/AsyncLogger.dir/main.cpp.o: in function `std::thread::thread<void (&)(), , void>(void (&)())':
/usr/include/c++/9/thread:126: undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
make[3]: *** [CMakeFiles/AsyncLogger.dir/build.make:93:AsyncLogger] 錯誤 1
make[2]: *** [CMakeFiles/Makefile2:83:CMakeFiles/AsyncLogger.dir/all] 錯誤 2
make[1]: *** [CMakeFiles/Makefile2:90:CMakeFiles/AsyncLogger.dir/rule] 錯誤 2
make: *** [Makefile:124:AsyncLogger] 錯誤 2
解決方法:
在CMakeLists.txt的最后加上:
find_package(Threads REQUIRED)
target_link_libraries(AsyncLogger Threads::Threads) #這里AsyncLogger 是你的項目名稱
然后reload CMakeLists.txt,編譯成功。
原因:
編譯器沒有鏈接線程庫