博客專欄

        EEPW首頁(yè) > 博客 > cmake之 第三方庫(kù)始終報(bào)錯(cuò) /usr/bin/ld: cannot find -lxxx?

        cmake之 第三方庫(kù)始終報(bào)錯(cuò) /usr/bin/ld: cannot find -lxxx?

        發(fā)布人:電子禪石 時(shí)間:2024-11-14 來源:工程師 發(fā)布文章

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

        加載第三方庫(kù)對(duì)于一個(gè)程序是很經(jīng)常碰到的事情。

        首先,自己應(yīng)該很清楚第三方庫(kù)的位置哈。將庫(kù)添加到工程中。


        #注意:動(dòng)態(tài)庫(kù)簡(jiǎn)寫,全稱均可;靜態(tài)庫(kù)要全稱。

        TARGET_LINK_LIBRARIES(main hello)

        #TARGET_LINK_LIBRARIES(main libhello.a)

        1

        2

        3

        此時(shí),編譯報(bào)錯(cuò)/usr/bin/ld: cannot find -lxxx

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


        LINK_DIRECTORIES(/usr/lib/hello)

        1

        編譯,再次報(bào)錯(cuò)/usr/bin/ld: cannot find -lxxx?

        通過分析官方文檔,發(fā)現(xiàn)這個(gè)問題其實(shí)是代碼的順序問題,務(wù)必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


        *博客內(nèi)容為網(wǎng)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



        關(guān)鍵詞: cmake

        技術(shù)專區(qū)

        關(guān)閉
        主站蜘蛛池模板: 六安市| 射阳县| 阿坝县| 司法| 峨眉山市| 克山县| 崇左市| 长海县| 平武县| 观塘区| 台中县| 黄冈市| 云林县| 长宁区| 黑龙江省| 文安县| 搜索| 抚顺市| 龙胜| 阿城市| 平顺县| 深水埗区| 布尔津县| 乡城县| 浦北县| 阜宁县| 柯坪县| 汶川县| 正镶白旗| 肥乡县| 泗水县| 巴林左旗| 凤庆县| 鄂伦春自治旗| 荆州市| 印江| 洪洞县| 汝南县| 石泉县| 乌恰县| 徐水县|