在编译DSO代码的时候会如下这样的问题:
检查DSO,在程序中没有用到pthread,但是在编译的时候却出现此类问题。仔细想了想了一下,在程序中用到了C++11中的线程std::thread,个人猜测C++11在封装线程std::thread时应当是使用到了pthread,pthread不是linux下的默认的库,也就是在链接的时候,无法找到phread库中线程函数的入口地址,于是链接会失败。
解决方法:
最简单的就是,打开CMakeLists.txt ,在所有用到boost_thread 的后面加上 -pthread,如下图,保存并重新编译,发现已经解决。
若未解决问题,可参考下列内容:
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】免费获取数百本计算机经典书籍
原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/292180
非原创文章文中已经注明原地址,如有侵权,联系删除
关注公众号【高性能架构探索】,第一时间获取最新文章
转载文章受原作者版权保护。转载请注明原作者出处!