写程序的时候遇到这个问题,做一个小小的记录,方便大家遇到这个问题以后及时的解决
出现这个问题的主要的原因:
pthread 库不是 Linux 系统默认的库,连接时需要使用静态库 libpthread.a.
所以在使用pthread_create()创建线程时,需要链接该库。
对于解决的方式,针对两种不同的情况解决办法不同
1.终端问题的解决:
在编译中要加 -pthread参数
gcc thread.c -o thread -pthread
2. 对于cmake配置: 可以修改CMakeLists.txt文件:
这个设定对应的编译,需要支持c++11,并且支持多线程
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -pthread" )