日本a√视频在线,久久青青亚洲国产,亚洲一区欧美二区,免费g片在线观看网站

        <style id="k3y6c"><u id="k3y6c"></u></style>
        <s id="k3y6c"></s>
        <mark id="k3y6c"></mark>
          
          

          <mark id="k3y6c"></mark>

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > Makefile 中 -rpath -rpath-link

          Makefile 中 -rpath -rpath-link

          發(fā)布人:電子禪石 時(shí)間:2024-02-20 來源:工程師 發(fā)布文章
          -rpath和-rpath-link

          假設(shè)有3個(gè)文件,在同一目錄下,有這樣的依賴關(guān)系

          test->liba.so->libd.so

          如果編譯test的時(shí)候這樣寫

          gcc test.c –la

          warning:libd.so, needed by liba.so not found

          解決辦法有3個(gè)

          方法1

          gcc test.c –la –ld

          方法2

          gcc test.c –la -Wl,-rpath-link ./

          這樣就告訴編譯器,當(dāng)要尋找liba的依賴庫時(shí)候,請(qǐng)到 ./去找

          方法3

          gcc test.c –la -Wl,-rpath ./

          這樣就告訴編譯器,當(dāng)要尋找liba的依賴庫時(shí)候,請(qǐng)到 ./去找

          方法2和方法3有什么區(qū)別呢?

          -rpath和-rpath-link都可以在鏈接時(shí)指定庫的路徑;但是運(yùn)行可執(zhí)行文件時(shí),-rpath-link指定的路徑就不再有效(鏈接器沒有將庫的路徑包含進(jìn)可執(zhí)行文件中),而-rpath指定的路徑還有效,程序回到指定的路徑中去找?guī)?因?yàn)殒溄悠饕呀?jīng)將庫的路徑包含在可執(zhí)行文件中了。)最后,不管使用了-rpath還是-rpath-link,LD_LIBRARY_PATH還是有效的。


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



          關(guān)鍵詞: makefile

          相關(guān)推薦

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

          關(guān)閉