c++ - 链接器问题 VS2015。 LNK2019 和 LNK2001 未解析的外部符号

标签 c++ visual-studio linker visual-studio-2015 constraint-programming

我正在尝试扩展我的约束编程知识,我想使用谷歌的 or-tools 构建一个简单的示例在 VS2015 中。

但是,我经常被这些链接器错误困扰。 LNK2019 和 LNK2001。为什么 VS 中的链接如此困难。

谷歌的 or-tools位于一个完美的文件夹中,包含一个 include 子文件夹和一个 lib 子文件夹以及一个 .lib 文件。

我添加了额外的库依赖。

Configuration Properties -> Linker -> General Additional Library Dependencies : C:\PATH\or-tools.VisualStudio2013-64b\lib

在链接器属性部分下设置输入。

Configuration Properties -> Linker -> Input Additional Dependencies : ortools.lib

Include 目录所在的 VC++。

Configuration Properties -> VC++ Directories : C:\PATH\or-tools.VisualStudio2013-64b

但是在构建解决方案时它仍然会抛出链接错误。我在这里错过了什么。

提前致谢。

编辑:

拼写

最佳答案

由于VS2013和VS2015编译器版本不兼容,你必须build the lib from source .但请注意,在与 VS2015 链接时,这可能需要做更多的工作。具体来说,我不得不手动解决以下问题:

  1. protobuf-3.0.0-beta-1 更改为 protobuf-3.0.0-beta-2(奖金。不是真的有必要)
  2. gflags 2.1.2 由于 snprintf 周围的名称冲突而无法编译。要解决此问题,请从 GitHub 下载最新的 gflags 版本并覆盖 %OR_TOOLS%\dependencies
  3. 中的版本
  4. dependencies\sources\cbc-2.9.7 中查找所有 VS 解决方案文件 (.sln),只需双击它们并按照说明操作即可将其转换为 VS2015 格式。
  5. 将以下代码添加到makefiles\Makefile.port

ifeq ("$(VisualStudioVersion)", "14.0") Visual Studio =2015 VS_RELEASE=v140 VS_COMTOOLS=140 别的 ... 结束

  1. Visual Studio 12 2013 替换为 Visual Studio 14 2015

在每一步之后重新运行 make third_party

或者你可以只download最终结果,链接到 Windows 10 x64 VS2015 更新 1。我在运行 make third_party && make cc 后包含了整个文件夹。

关于c++ - 链接器问题 VS2015。 LNK2019 和 LNK2001 未解析的外部符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34947002/

相关文章:

c++ - 链表中的随机性

c++ - 头文件/cpp文件

opencv cmake 没有找到最新的 ffmpeg 库

dll - 链接大量 .lib 以生成 DLL : unresolved external symbol _DllMainCRTStartup

找不到-llibc

c++ - "More than one operator + matches these operands"错误

c++ - 在C++中使用WMI获取适配器的InterfaceIndex

c# - asp.net core项目发布后iis立即关闭

visual-studio - 如何从与 emma 生成的类似的 Visual Studio .coverage 文件生成覆盖报告?

visual-studio - 我怎样才能让 bjam 在其他目录中找到我的 .h 文件