2016-10-31 367 views
1

我正在嘗試使用Windows構建Caffe深度學習網絡解決方案,並且我嘗試了所有工作。LNK1104 Visual studio 2015

我發現了類似的問題,但他們使用的是VS 2010或2013,我沒有列出大多數答案中的任何選項。

首先: 我使用的是VS 2015,cudNN和最新的Caffe,我試圖用Windows x64構建它。

其次: 我曾嘗試兩種方法(開始了與添加在這兩種情況下cudNN路徑)

1) 參考:http://embedonix.com/articles/machine-learning/compiling-caffe-with-cuda-and-cudnn-support-on-windows-from-source/2/

我已經使用這個命令:

nuget restore Caffe.sln -PackagesDirectory ..\..\NugetPackages -ConfigFile nuget.config 

然後啓動Visual Studio並嘗試構建解決方案,但是出現此錯誤:

LNK1104 cannot open file 'libboost_date_time-vc140-mt-gd-1_59.lib' classification 

2)我嘗試使用這種方法:https://github.com/BVLC/caffe/tree/windows,這是從他們的官方網站。

但是我得到錯誤:「過程入口point_CrtSetCheckCOunt不能設在動態鏈接庫... protoc.exe」

任何人都不會有如何解決所有這些問題的解決方案,所以我可以安裝它?

+0

[編譯C++程序導致「致命錯誤LNK1104」]的可能重複(http://stackoverflow.com/questions/927574/compiling-c-program-causes-fatal-error-lnk1104) –

回答

1

我正面臨類似的問題。 您的代碼依賴的庫之一取決於boost。

您的代碼現在還需要導入boost。

幸運的是,有通過nuget提供的增強包。您需要遞歸地手動檢查它們,直到錯誤消失。第一個將是boost_date_time

我的包文件現在看起來是這樣的:

<packages> 
    <package id="boost" version="1.63.0.0" targetFramework="native" /> 
    <package id="boost_atomic-vc140" version="1.63.0.0" targetFramework="native" /> 
    <package id="boost_chrono-vc140" version="1.63.0.0" targetFramework="native" /> 
    <package id="boost_date_time-vc140" version="1.63.0.0" targetFramework="native" /> 
    <package id="boost_filesystem-vc140" version="1.63.0.0" targetFramework="native" /> 
    <package id="googletest" version="1.8.0.0" targetFramework="native" /> 
    </packages> 

這工作,因爲該項目的目標,現在beeing延伸,你會得到的路徑到lib文件作爲附加庫目錄的目錄添加到項目中。

您現在可能得到的下一個錯誤是LNK2019,它將連接到您的依賴關係中動態鏈接的所有或部分boost庫。對我來說,解決方案對於您的解決方案有所不同 - 但我確定有一個Caffe特定的解決方案可用。