ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

CMakeLists指定链接顺序(error adding symbols: DSO missing from command line)

2022-08-02 19:35:03  阅读:139  来源: 互联网

标签:adding CMakeLists 顺序 target missing 链接库 libraries link test


转载

https://www.cnblogs.com/Hocker/p/8269506.html

https://www.cnblogs.com/OCaml/archive/2012/06/18/2554086.html#sec-1-1

 

关于链接库的顺序问题,我看了下链接库的顺序问题一文,正常的情况下,链动态接库时是从左至右开始链接,如果出现了顺序错误,gcc自动帮我们重定位,我认为保险的方式是做好库的顺序。

那我这里稍微整理了下链接顺序。

  1. 高层静态链接库

  2. 底层依赖库

  3. 高层动态链接库

  4. 其他无关系链接库

 

举个栗子:

target_link_libraries(test -lpthread)

target_link_libraries(test -llibhappy)

假设libhappy.so需要链接pthread。当我们用上面的顺序来指定链接库时,就会报错,提示找不到pthread。这里应该这样:

target_link_libraries(test -llibhappy)

target_link_libraries(test -lpthread)

把底层的库放到最后。

标签:adding,CMakeLists,顺序,target,missing,链接库,libraries,link,test
来源: https://www.cnblogs.com/linxisuo/p/16544908.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有