谷歌ORTools C++生成文件

uinbv5nw  于 2023-02-10  发布在  其他
关注(0)|答案(2)|浏览(234)

我正在使用c++中的ortools来建模车辆配送(VRP)问题,我想知道是否有一种方法可以使用我自己的Makefile来编译代码,方法是为编译器添加适当的标志,这样我就不必使用

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

我已经在Debian 10上从源代码编译了ortools,确保遵循指南上的正确指示(make third-party then make cc then make install_cc)。make test_cc运行并完成,没有任何问题,所以我不认为安装有任何问题。
关于这个主题我找到的唯一线索是有人写了

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

编译他们的程序,但是在尝试的时候,我有很多未定义的引用。我在什么地方读到过应该使用-std=c17而不是-std=c11,但是无论哪种方式都不起作用。
如果你需要更多的细节,请告诉我。

798qvoo8

798qvoo81#

所有二进制包都附带了一个生成文件。
你可以在这里看到来源:https://github.com/google/or-tools/blob/stable/tools/Makefile.cc.java.dotnet
如果你运行make detect_cc,它将打印出你的平台的所有编译和链接选项。

koaltpgm

koaltpgm2#

由于ortools是一个共享库,除了使用-L标志指定路径之外,您还必须使用环境变量LD_LIBRARY_PATH指定其路径。

export LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:<path-to-lib>.

你可以把上面的导出命令放到.bashrc文件中,或者在每次运行代码时运行它。另外,你必须使用C++17。

相关问题