LNK1104 Visual studio 2015

时间:2016-10-31 22:27:20

标签: visual-studio visual-studio-2015 caffe

我正在尝试使用Windows构建Caffe深度学习网络解决方案,并且我已经尝试了一切以使其正常工作。

我发现了类似的问题,但他们使用的是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”

有没有人有如何解决这些问题的解决方案,所以我可以安装它?

1 个答案:

答案 0 :(得分:1)

我正面临一个相似的问题。 您的代码所依赖的库之一取决于boost。

您的代码现在还需要导入boost。

幸运的是,nuget提供了一些提升套餐。你需要recursibely手动检查它们,直到错误消失。第一个是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>

这是有效的,因为项目目标现在正在扩展,并且您将获得lib文件目录的路径,作为添加到项目中的附加库目录。

您现在可能遇到的下一个错误是LNK2019,它将连接到您的依赖项中动态链接的所有或部分boost库。对我来说,解决方案对你来说是不同的 - 但我确信有一个Caffe特定的解决方案。