造成该错误的原因是由于pthread库不是Linux 系统默认的库,连接时需要使用静态库 libpthread.a,所以在使用pthread_create()创建线程时,在编译中要加 -lpthread参数。
解决方法:
1、在编译时加-lpthread:即g++ -g file.cpp -std=c++11 -lpthread -O ***
2、如果使用的是CMakeLists.txt对文件进行编译时。
则在CMakeLists.txt文件中加link_libraries(pthread)语句。