0

我正在尝试构建 CoinOR,我正在按照https://projects.coin-or.org/CoinBinary上的简单说明进行操作。配置成功,所以我应该拥有所有依赖项。但是我在运行“make”命令时遇到了这个错误:

g++ -DHAVE_CONFIG_H -I。-我。

-I/home/user/CoinOR/COIN-1.8/Osi/src/Osi -I/home/user/CoinOR/COIN-1.8/CoinUtils/src -O3 -pipe -DNDEBUG -pedantic-errors -W括号 -Wreturn-type -Wcast-qual -Wall -Wpointer-arith -Wwrite-strings -Wconversion -Wno-unknown-pragmas -Wno-long-long -DFLOPCPP_BUILD -MT MP_boolean.lo -MD -MP -MF .deps/MP_boolean.Tpo -c MP_boolean .cpp -fPIC -DPIC -o .libs/MP_boolean.o 在 MP_boolean.cpp:12 包含的文件中:

MP_set.hpp:在成员函数 'flopc::MP_domain&

flopc::MP_subset::operator()(const flopc::SUBSETREF&)':

MP_set.hpp:212:9:错误:无法绑定非常量左值引用

将 'flopc::MP_domain&' 键入到 'flopc::MP_domain' 类型的右值

返回 MP_domain(s);

     ^~~~~~~~~~~~

有人有 id 或解决方案,比如预编译的二进制文件吗?我正在运行 Arch Linux。

4

1 回答 1

0

只需在文件 MP_set.hpp 的第 212 行更改函数的返回类型。

MP_domain& operator()(const SUBSETREF& s) {
    return MP_domain(s);
}

变成

MP_domain operator()(const SUBSETREF& s) {
    return MP_domain(s);
}
于 2018-07-17T03:45:01.793 回答