使用g++和cmake编译thread库报错

项目场景:

使用g++编译带thread库的C++代码

g++ listing_1.1.cpp -o list_1.1

问题描述

报错:

/usr/bin/ld: /tmp/ccYH9VAd.o: in function `std::thread::thread<void (&)(), , void>(void (&)())':
listing_1.1.cpp:(.text._ZNSt6threadC2IRFvvEJEvEEOT_DpOT0_[_ZNSt6threadC5IRFvvEJEvEEOT_DpOT0_]+0x33): undefined reference to `pthread_create'

原因分析:

没有添加C++11,lpthread 不是linux下默认多线程的库


解决方案:

g++命令添加参数:

g++ listing_1.1.cpp -std=c++11 -o list_1.1 -lpthread

编译成功

猜你喜欢

转载自blog.csdn.net/weixin_43367756/article/details/126297331