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

看板C_and_CPP作者 (曹草逼)時間8年前 (2015/12/21 10:28), 編輯推噓1(108)
留言9則, 2人參與, 最新討論串1/2 (看更多)
開發平台(Platform): (Ex: VC++, GCC, Linux, ...) VC++ 額外使用到的函數庫(Library Used): (Ex: OpenGL, ...) 問題(Question): 餵入的資料(Input): 預期的正確結果(Expected Output): 錯誤結果(Wrong Output): error LNK2001: 無法解析的外部符號 "public: void __cdecl caffe::Net<float>::CopyTrainedLayersFrom(class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> >)" (?CopyTrainedLayersFrom@?$Net@M@caffe@@QEAAXV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z) C:\deep learning\caffe-vs2013-master\test-MNIST\test-MNIST.obj test-MNIST error LNK2001: 無法解析的外部符號 "public: static void __cdecl caffe::Caffe::SetDevice(int)" (?SetDevice@Caffe@caffe@@SAXH@Z) C:\deep learning\caffe-vs2013-master\test-MNIST\test-MNIST.obj test-MNIST 程式碼(Code):(請善用置底文網頁, 記得排版) 補充說明(Supplement): 在執行專案編譯時會產生此問題,環境變數有加入需要使用到的程序路徑, ex boost檔案 環境變數 =>變數名稱:BOOST_1_56_0 變數值:C:\local\boost_1_56_0 再"屬性"裡面,連結器中的"輸入"再相依性裡面則是把boost檔案裡面的lib檔都加進去了 目前在執行的程序是有關機器學習的東西,有用到像是OPENCV,BOOST,CUDA等程序 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 140.125.46.75 ※ 文章網址: https://www.ptt.cc/bbs/C_and_CPP/M.1450664896.A.0C6.html

12/21 19:29, , 1F
這看起來是你的專案內部的東西 (namespace caffe)
12/21 19:29, 1F

12/21 19:30, , 2F
去看一下你的專案設定裡有沒有所有東西都加進去編譯了
12/21 19:30, 2F

12/21 19:30, , 3F
特別檢查訊息中的那兩個函式所在的檔案有沒有加
12/21 19:30, 3F

12/21 20:42, , 4F
再相依性的部分有將下載的檔案(ex boost_1_56_0)內部
12/21 20:42, 4F

12/21 20:44, , 5F
的lib檔全部加到專案裡的連結器
12/21 20:44, 5F

12/21 20:45, , 6F
的"其他相依性"裡面,如果加入完就會出現無法解析外部
12/21 20:45, 6F

12/21 20:46, , 7F
如果沒加入相關lib檔則會說缺少boost_xx.lib
12/21 20:46, 7F

12/21 20:46, , 8F
某個內部的檔案
12/21 20:46, 8F

12/21 20:47, , 9F
有確認將library庫的檔案加進去
12/21 20:47, 9F
文章代碼(AID): #1MTsF036 (C_and_CPP)
文章代碼(AID): #1MTsF036 (C_and_CPP)