ortools 为谷歌开发的支持的规划程序库,支持C++ python 等
ortools 官方介绍:OR-Tools | Google Developers
经测试,使用官方发布的二进制运行库没有成功将示例代码运行成功,故此采用直接编译源码的方式运行测试代码。
测试环境:VS2019 (官方文档说明,C++版本仅支持VS2019、VS2022,并且只支持64位编译。)
源代码下载地址:
使用 cmake 编译指导
or-tools/README.md at stable · google/or-tools · GitHub
使用提供的编译命令
For example, to generate build files including dependencies in a new subdirectory called 'build', run:
cmake -S. -Bbuild -DBUILD_DEPS:BOOL=ON
and then build with:
cmake --build build
Following is a list of available options, for the full list run:
cmake -S. -Bbuild -LH
通过以上命令即可编译源码,并获取到静态库。
编译使用的cmake在win10电脑的使用,可以自行查找资料,也可私信。
使用命令的路径在or-tools根目录即可。
在执行第一个命令的过程中,需要持续下载第三方开源代码,如:absl、cbc、clp、osi等。可能需要安装git环境。
如果出现,失败的情况,可以继续执行第一个命令,直至完全成功才能执行第二个命令、第三个命令。
以上命令执行完毕后,在build目录下出现整个项目需要的工程文件,双击“ortolls.sln”文件,即可启动 VS2019 加载整个项目。设置“basic_example”为启动项目,然后点击debug即可运行项目,若在vs编译过程中出现“linear_solver.cc”文件中的错误,经过研究会发现完全没有错误,但是vs编译过程确实报错,if(){}这种错误可以将花括号去掉。另外的特使符号错误,如∞ 真的没办法,如果仅想编译通过,可以去掉这类符号。这类符号会影响 当片代码的编译,很奇怪。
F5就能成功运行“basic_example”测试案例。
需要转到其他项目,可以在vs下使用不同的编译方式(debug、release),编译后再相关目录下出现bin/***.lib,将库拷贝到其他项目的目录下,或者添加到环境目录中均可,相关的宏在ortools编译环境设置中均能找到,也要复制到其他项目的配置中,否则不能够执行。
此文章仅为编译指导,不做详细使用指导。