<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          奇怪的鏈接錯(cuò)誤

          共 1264字,需瀏覽 3分鐘

           ·

          2020-12-07 09:23

          緣起

          一般情況下鏈接錯(cuò)誤很好解決,最常見的是重定義和找不到外部符號,不過這次遇到的鏈接錯(cuò)誤有些奇怪,一起來看看吧。

          初遇錯(cuò)誤

          寫完代碼,開開心心的編譯,沒想到遇到下面的鏈接錯(cuò)誤。


          不慌,這種錯(cuò)誤見的太多了,見怪不怪了。終極原因是:鏈接的時(shí)候找不到合適的庫。大概率是庫路徑設(shè)置不對,或者沒引用這個(gè) lib。因?yàn)榇a中明確使用 #pragma comment(lib, lib_path) 引用了庫,所以問題大概率出在庫路徑上。


          在檢查工程設(shè)置前,先介紹下兩個(gè)工程的輸出目錄,也就是 $(OutDir) 的值。

          TestLinkErrorExe 工程的 OutDir 如下圖所示:


          TestLinkErrorDll 工程的 OutDir 如下圖所示:


          都指向了 $(SolutionDir)bin\$(Platform)\$(Configuration)\。$(SolutionDir) 指的是 .sln 文件所在的路徑,這里是 E:\working\MyTestProjects\TestLinkError\,因?yàn)榫幾g的是 64Debug 版本,所以 $(Platform) 的值是 x64。$(Configuration) 的值是 Debug。所以,最終的路徑是:E:\working\MyTestProjects\TestLinkError\bin\x64\Debug\

          有了這個(gè)背景介紹,就可以接著查看工程設(shè)置了。

          檢查工程設(shè)置

          因?yàn)?TestLinkErrorDll.libTestLinkErrorDll 工程產(chǎn)生的,需要保證 TestLinkErrorDll 先編譯,如果先編譯 TestLinkErrorExe 的話,鏈接的時(shí)候,TestLinkErrorDll 還沒編譯,TestLinkErrorDll.lib 也就不會(huì)產(chǎn)生,自然會(huì)找不到。所以,需要設(shè)置編譯順序,最簡單的實(shí)現(xiàn)方式就是設(shè)置工程依賴。

          Solution右鍵 -> Project Dependencies... ?打開 Project Dependencies 設(shè)置界面,如下圖:


          經(jīng)檢查,工程依賴已經(jīng)設(shè)置正確了。

          檢查完工程依賴,再檢查庫目錄( Library Directories)。有兩個(gè)地方需要檢查:



          經(jīng)檢查,這兩處設(shè)置確實(shí)是正確的。納尼?所有設(shè)置都正確!為什么結(jié)果不正確呢?直接打開 .vcxproj 文件查看里面的 OutDir 的值,如下圖:


          從圖中可知,...... 的下方。果斷調(diào)整順序,再次編譯,一切順利。

          反思

          再次打開有問題的工程,查看 OutDir 屬性的值,是錯(cuò)誤的路徑!如下圖:


          總結(jié)

          鏈接錯(cuò)誤不可怕,耐心細(xì)致的查看工程設(shè)置,基本上都能解決掉。


          感謝你的分享,點(diǎn)贊和在看

          瀏覽 25
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評論
          圖片
          表情
          推薦
          點(diǎn)贊
          評論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  亚洲视频免费观看视频 | 人人人人人人操 | 免费无人区一区二区三区 | 亚洲视频完整版在线观看 | 国产三级理论在线观看 |