博客專欄

        EEPW首頁 > 博客 > cmake之 第三方庫始終報錯 /usr/bin/ld: cannot find -lxxx?

        cmake之 第三方庫始終報錯 /usr/bin/ld: cannot find -lxxx?

        發布人:電子禪石 時間:2024-11-14 來源:工程師 發布文章

        為什么自己要添加始終?感覺很奇怪?

        加載第三方庫對于一個程序是很經常碰到的事情。

        首先,自己應該很清楚第三方庫的位置哈。將庫添加到工程中。


        #注意:動態庫簡寫,全稱均可;靜態庫要全稱。

        TARGET_LINK_LIBRARIES(main hello)

        #TARGET_LINK_LIBRARIES(main libhello.a)

        1

        2

        3

        此時,編譯報錯/usr/bin/ld: cannot find -lxxx

        使用cmake提供的LINK_DIRECTORIES指定第三方庫路徑。


        LINK_DIRECTORIES(/usr/lib/hello)

        1

        編譯,再次報錯/usr/bin/ld: cannot find -lxxx?

        通過分析官方文檔,發現這個問題其實是代碼的順序問題,務必LINK_DIRECTORIES 要放在ADD_EXECUTABLE() or ADD_LIBRARY()前面。


        官方文檔:

        https://cmake.org/cmake/help/v3.5/command/link_libraries.html


        ok

        ————————————————


        最終解決: 竟然是不用-l  不知道是不是和cmake 版本有問題。

        target_link_libraries(cyber_demo -lcyber libcrypto.a libssl.a -lpthread)

                                

        原文鏈接:https://blog.csdn.net/weixin_39956356/article/details/100412382


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: cmake

        技術專區

        關閉
        主站蜘蛛池模板: 古浪县| 黎城县| 高台县| 萝北县| 永胜县| 抚顺市| 安新县| 巴南区| 黑龙江省| 新邵县| 水城县| 泰来县| 建德市| 大化| 隆化县| 林西县| 西青区| 通化市| 故城县| 平谷区| 建平县| 河东区| 乃东县| 凯里市| 新化县| 新平| 南开区| 湖北省| 大新县| 四川省| 湘潭市| 甘南县| 康马县| 锡林郭勒盟| 巴里| 遂溪县| 丽水市| 托里县| 行唐县| 繁峙县| 宁城县|