undefined reference to `pthread_create‘ 怎么解决? 靠近源文件后加-lpthread

这篇博客介绍了如何通过在g++编译命令中添加-lpthread选项来解决C++程序中遇到的关于pthread_create未定义引用的问题,包括问题背景、解决方案和实际应用实例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

解决办法

靠近源文件后加-lpthread  

实测解决问题

userA@userA-Dell-G15-5511:~/exercise2$ g++ thread.cpp 
/usr/bin/ld: /tmp/ccY4Oifo.o: in function `std::thread::thread<void (*)(std::mutex&, std::condition_variable&, int const&), std::reference_wrapper<std::mutex>, std::reference_wrapper<std::condition_variable>, int&, void>(void (*&&)(std::mutex&, std::condition_variable&, int const&), std::reference_wrapper<std::mutex>&&, std::reference_wrapper<std::condition_variable>&&, int&)':
thread.cpp:(.text._ZNSt6threadC2IPFvRSt5mutexRSt18condition_variableRKiEJSt17reference_wrapperIS1_ES9_IS3_ERiEvEEOT_DpOT0_[_ZNSt6threadC5IPFvRSt5mutexRSt18condition_variableRKiEJSt17reference_wrapperIS1_ES9_IS3_ERiEvEEOT_DpOT0_]+0x46): undefined reference to `pthread_create'
collect2: error: ld returned 1 exit status
userA@userA-Dell-G15-5511:~/exercise2$ g++ thread.cpp -lpthread
userA@userA-Dell-G15-5511:~/exercise2$ ll
总用量 1364
drwxrwxr-x  4 userA userA   4096 5月  15 16:07 ./
drwxr-xr-x 42 userA userA   4096 5月  12 12:02 ../
-rw-rw-r--  1 userA userA 122848 4月   4 08:53 1_depth.png
-rw-rw-r--  1 userA userA 529319 4月   4 08:53 1.png
-rw-rw-r--  1 userA userA 122985 4月   4 08:53 2_depth.png
-rw-rw-r--  1 userA userA 532217 4月   4 08:53 2.png
-rwxrwxr-x  1 userA userA  48312 5月  15 16:07 a.out*
drwxrwxr-x  3 userA userA   4096 4月  12 16:32 build/
-rw-rw-r--  1 userA userA   1387 4月  12 16:31 CMakeLists.txt
-rw-rw-r--  1 userA userA   6114 4月  12 16:24 pose_estimation_2d2d.cpp
-rw-rw-r--  1 userA userA    822 5月  15 16:00 thread.cpp
drwxrwxr-x  2 userA userA   4096 5月  15 16:01 .vscode/
userA@userA-Dell-G15-5511:~/exercise2$ ./a.out 
Input 1 is print thread id.
1
Msg Thread...
Thread ID: 140257189758720
userA@userA-Dell-G15-5511:~/exercise2$ 

参考

undefined reference to `pthread_create' 怎么解决?_家人是最好的礼物的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值