cmake报错undefined reference to `pthread

xiaoxiao2022-06-03  6

CMakeFiles/helloboost.dir/condition_variable.cpp.o: In function `main': /usr/include/c++/7/thread:126: undefined reference to `pthread_create' collect2: error: ld returned 1 exit status CMakeFiles/helloboost.dir/build.make:93: recipe for target '../helloboost' failed make[2]: *** [../helloboost] Error 1 CMakeFiles/Makefile2:72: recipe for target 'CMakeFiles/helloboost.dir/all' failed make[1]: *** [CMakeFiles/helloboost.dir/all] Error 2 Makefile:83: recipe for target 'all' failed make: *** [all] Error 2

在执行cmake命令的时候报了上面的错误,这个解决方法是:

在cmake文件中加入

if (WIN32)     set (PLATFORM_LIBS Ws2_32 mswsock iphlpapi ntdll) else (WIN32)     set (PLATFORM_LIBS pthread ${CMAKE_DL_LIBS}) endif (WIN32)

 

并且在TARGET_LINK_LIBRARIES这个后面加上${PLATFORM_LIBS}

之后重新cmake就可以了

 

转载请注明原文地址: https://www.6miu.com/read-4915017.html

最新回复(0)