Re: [問題] LNK2001 無法解析的外部符號

看板C_and_CPP (C/C++)作者 (曹草逼)時間10年前 (2015/12/21 20:40), 編輯推噓3(3032)
留言35則, 3人參與, 最新討論串2/2 (看更多)
再相依性的部分有將下載的檔案(ex boost_1_56_0)內部的lib檔全部加到專案裡的連結器的"其他相依性"裡面,如果加入完就會出現無法解析外部符號,如果沒加入相關lib檔則會說缺少boost_xx.lib某個內部的檔案 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.125.46.75 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450701614.A.3AB.html

12/21 20:42, , 1F
boost的版本不對吧
12/21 20:42, 1F

12/22 00:48, , 2F
我剛才去挖了這個 caffe 來看, 你有把 caffe 的 library
12/22 00:48, 2F

12/22 00:48, , 3F
加進專案裡嗎?如果他們不只一個 library 全都加進去試試
12/22 00:48, 3F

12/22 10:43, , 4F
https://goo.gl/n6zmx1 我是參考這個網站
12/22 10:43, 4F

12/22 10:44, , 5F
它boost也是用56的版本
12/22 10:44, 5F

12/22 10:45, , 6F
LPH66 好我試試看,謝謝你
12/22 10:45, 6F

12/22 11:20, , 7F
我有把caffe專案的lib檔都加進來了
12/22 11:20, 7F

12/22 11:23, , 8F
抱歉圖片沒辦法上傳,原本要把圖片縮成網址
12/22 11:23, 8F

12/22 11:25, , 9F
但是錯誤還是一樣,錯誤有可能是缺少lib檔以外
12/22 11:25, 9F

12/22 11:25, , 10F
的問題嗎?
12/22 11:25, 10F

12/22 11:26, , 11F
因為如果沒有lib檔的話,錯誤應該是缺少lib檔的錯誤
12/22 11:26, 11F

12/23 01:12, , 12F
那你重編一次 caffe 再重加一次試試看
12/23 01:12, 12F

12/23 01:12, , 13F
沒加入該加的 lib 檔不一定會出現缺少 lib 檔的錯誤
12/23 01:12, 13F

12/23 01:13, , 14F
會有這種錯誤多半是原始碼裡指定了要連結哪個 .lib 但沒有
12/23 01:13, 14F

12/23 01:13, , 15F
沒有指定的話就只會是個單純的找不到符號的連結錯誤而已
12/23 01:13, 15F

12/23 01:16, , 16F
噢對了, 編譯時跟你在使用時的 boost 要用同一個
12/23 01:16, 16F

12/23 11:00, , 17F
目前在系統變數有加BOOST_1_56_0的變數名稱
12/23 11:00, 17F

12/23 11:01, , 18F
跟變數值C:\local\boost_1_56_0
12/23 11:01, 18F

12/23 11:03, , 19F
然後裡面有三個專案caffe、test_MNIST跟train_MNIST
12/23 11:03, 19F

12/23 11:06, , 20F
編譯caffe專案時有成功,編譯另外兩個專案
12/23 11:06, 20F

12/23 11:07, , 21F
都出現連結錯誤,再相依性的部分我有把caffe資料夾
12/23 11:07, 21F

12/23 11:09, , 22F
的lib資料夾中Win32 x64的Debug跟Release資料夾
12/23 11:09, 22F

12/23 11:09, , 23F
全部lib檔都加到"其他相依性"裡面
12/23 11:09, 23F

12/23 11:10, , 24F
C:\deep learning\caffe-vs2013-master\3rdparty\lib\
12/23 11:10, 24F

12/23 11:11, , 25F
Win32\Debug\leveldb.lib
12/23 11:11, 25F

12/23 11:12, , 26F
加入絕對路徑給它
12/23 11:12, 26F

12/23 11:13, , 27F
但是錯誤還是一樣,覺得很奇怪,搜尋過caffe裡面
12/23 11:13, 27F

12/23 11:13, , 28F
沒有其它的lib檔
12/23 11:13, 28F

12/23 11:14, , 29F
無法解析的外部符號 "public: __cdecl caffe::Caffe::
12/23 11:14, 29F

12/23 11:17, , 30F
這是其中一段相關訊息
12/23 11:17, 30F

12/23 11:18, , 31F
然後boost是跟提供者一樣的版本
12/23 11:18, 31F

12/23 11:19, , 32F
抱歉麻煩你看這麼一大段
12/23 11:19, 32F

12/23 21:50, , 33F
有發現到問題,再編譯test_MNIST專案時先將組態類型
12/23 21:50, 33F

12/23 21:51, , 34F
.exe改成靜態函式庫(.lib)檔然後再編譯就ok了
12/23 21:51, 34F

12/23 21:52, , 35F
好像是沒有產生出關於test_MNIST的.lib檔出來的關係
12/23 21:52, 35F
文章代碼(AID): #1MT_CkEh (C_and_CPP)
文章代碼(AID): #1MT_CkEh (C_and_CPP)