如何在 Visual Studio 2017 [C++] 中使用 GLOP 线性求解器

Posted

技术标签:

【中文标题】如何在 Visual Studio 2017 [C++] 中使用 GLOP 线性求解器【英文标题】:How to use the GLOP Linear Solver with Visual Studio 2017 [C++] 【发布时间】:2018-09-11 14:38:28 【问题描述】:

我一直试图让它工作一段时间,但我一生都无法弄清楚。 这是我现在的情况:

我有一个正在运行的 Visual Studio 项目(和解决方案),并且希望尽可能少地对其进行修改。我现在觉得有必要在我的项目中使用 GLOP 线性求解器,并且想知道我将如何去做。

我编写的使用 GLOP 的代码可以完美地用作独立的 .cpp 文件: [ 这个 .cpp 文件与 GLOP 的资源放在同一目录中,并且在创建和使用这里提到的 make 命令后编译和运行完美https://developers.google.com/optimization/introduction/cpp ]

我现在想将此代码包含在我的项目中,并将其作为我项目的一部分而不是作为独立代码运行。由于我目前正在使用 MSVS 2017,我想知道我将如何去做,因为我使用的当前技巧(复制和粘贴项目文件夹中的 GLOP 的所有资源等)似乎没有工作并且我的错误列表不断增长,并且使用 make 命令显然不是一个选项,因为代码需要嵌入到其他代码中。

请像我五岁一样向我解释 - 哪些文件应该放在哪里,我应该执行哪些链接以及其他什么。

【问题讨论】:

【参考方案1】:

我想您已经下载并解压了二进制存档: or-tools_VisualStudio2017-64bit_v6.8.5452.zip

在运行 make rcc 命令构建 C++ 示例时,您应该已经发现了在项目中使用所需的标志。

首先你需要配置你的项目添加include目录:Configuration Properties>>VC++ Directories>>Include Directories

然后您必须添加一些预处理器标志,例如-DUSE_GLOP 注意:你可以找到我们在 Makefile 中使用的here:Configuration Properties>>C/C++>>Preprocessor>>Preprocessor Definitions

然后将静态库libortools.lib 添加到您的链接器中:Configuration Properties>>Linker>>Input

注意:图片来自互联网上的各个网站,请改编。

【讨论】:

谢谢!这个解决方案有效,但我做了同样的事情,没有使用任何标志。它编译、构建和运行良好,所以我想知道没有标志是否会对更大的项目产生任何影响。旗帜到底是做什么的?

以上是关于如何在 Visual Studio 2017 [C++] 中使用 GLOP 线性求解器的主要内容,如果未能解决你的问题,请参考以下文章

如何在 Visual Studio 2017 上禁用代码分析?

如何在 Visual Studio 2017 项目中启用 C# 7 的所有功能?

无法找到visual studio 2017生成工具

如何使用 Visual Studio 2017 Linux 支持编译和构建 C++17 代码?

如何让2017年的Visual Studio看到android 7?

如何在 Visual Studio 2017 项目中使用 modbus 库?