【问题标题】:LNK1104 Visual studio 2015LNK1104 视觉工作室 2015
【发布时间】:2016-10-31 22:27:20
【问题描述】:

我正在尝试使用 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,来自他们的官网。

但我收到错误:“过程入口点_CrtSetCheckCOunt 无法位于动态链接库中... protoc.exe”

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

【问题讨论】:

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


【解决方案1】:

我面临一个类似的问题。 您的代码所依赖的库之一确实依赖于 boost。

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

幸运的是,可以通过 nuget 获得 boost 包。您需要递归地手动检查它们,直到错误消失。第一个是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 特定解决方案。

【讨论】:

    猜你喜欢
    • 2016-06-02
    • 2016-02-11
    • 1970-01-01
    • 2016-02-05
    • 2016-12-09
    • 2017-04-10
    • 1970-01-01
    • 1970-01-01
    • 2020-02-01
    相关资源
    最近更新 更多