Google ORTools C++ Makefile

问题描述

我在 C++ 中使用 ortools 来模拟车辆路线问题。我想知道是否有一种方法可以通过包含编译器的正确标志来使用我自己的 Makefile 编译代码,这样我就不必使用

make build SOURCE=/path/to/my/program

我已经在 Debian 10 上从源代码编译 ortools,确保遵循指南中的正确说明(先创建第三方,然后再创建 cc,然后再创建 install_cc)。 make test_cc 运行并完成没有问题,所以我认为安装没有任何问题。

我发现的关于这个主题的唯一线索是他们使用过的人写的

g++ -std=c++11 -o my_program my_program.cc -I/usr/local/include/or-tools -lortools

编译他们的程序,但在尝试时,我有很多未定义的引用。我在某处读到应该使用 -std=c++17 而不是 -std=c++11 但无论哪种方式都行不通。

如果您需要更多详细信息,请告诉我。

解决方法

所有二进制包都附带一个提供的 makefile。

您可以在此处查看来源:https://github.com/google/or-tools/blob/stable/tools/Makefile.cc.java.dotnet

如果您运行 make detect_cc。它将打印出适用于您平台的所有编译和链接选项。