undefined reference to symbol ‘pthread_create@@GLIBC_2.2.5’ 的修改方法

在编译DSO代码的时候会如下这样的问题:

undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' 的修改方法

检查DSO,在程序中没有用到pthread,但是在编译的时候却出现此类问题。仔细想了想了一下,在程序中用到了C++11中的线程std::thread,个人猜测C++11在封装线程std::thread时应当是使用到了pthread,pthread不是linux下的默认的库,也就是在链接的时候,无法找到phread库中线程函数的入口地址,于是链接会失败。

解决方法:

最简单的就是,打开CMakeLists.txt ,在所有用到boost_thread 的后面加上 -pthread,如下图,保存并重新编译,发现已经解决。

undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' 的修改方法

 若未解决问题,可参考下列内容:

1.https://blog.csdn.net/hust_superman/article/details/37655891

2. https://www.cnblogs.com/yxysuanfa/p/7019725.html 

3.https://blog.csdn.net/csdn_zyp2015/article/details/73087318

 

 

 

 

 

 

 

 

 

 

原文链接: https://www.cnblogs.com/Yanfang20180701/p/10596710.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    undefined reference to symbol 'pthread_create@@GLIBC_2.2.5' 的修改方法

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/292180

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月15日 下午2:12
下一篇 2023年2月15日 下午2:13

相关推荐