我刚刚在 Linux (Ubuntu) 上将 Gurobi 更新到了 7.5.1 版——这是可用的最新版本。
问题每当我尝试编译任何使用 Gurobi 的代码时——例如,包含在 中的示例/opt/gurobi751/linux64/examples,我都会得到一串未定义的引用错误(例如 undefined reference to GRBModel::set(...))。如果我可以转到目录/opt/gurobi751/linux64/examples/build并运行命令make run_diet_c++并编译并运行它,我会考虑解决问题。
尝试修复
(1) 我已经$GUROBI_HOME在我的.bashrc文件中设置了——它指向正确的目录。$LD_LIBRARY_PATH并且$PATH也已更新。它们都指向正确的目录。
(2) 我有一个有效的 Gurobi 许可证。如果我编写一个.lp文件并像 一样运行它gurobi_cl model.lp,它就会正确运行。运行gurobi_cl --version给出了预期的输出(即版本 7.5.1)。
(3) 如果我尝试编译 C 版本(使用make run_diet_c),一切都会按预期进行。
更多信息
我在我的主目录中创建了以下测试文件:
#include <stdio.h>
#include "gurobi_c++.h"
int main(int argc, char **argv)
{
GRBVar x;
std::cout << "Hello, world!" << std::endl; …Run Code Online (Sandbox Code Playgroud) 我想使用 Matplotlib v2.2.2 和该函数更改填充线的密度contourf()(具体来说,我想增加密度)。我读到,您可以通过增加使用剖面线图形的次数来增加剖面线的密度(例如替换x为xx)。然而,这种变化对我没有任何影响。我的后端是Qt5Agg,我使用的是Python v3.6.4。
微量元素:
import matplotlib.pyplot as plt
import numpy as np
def main():
x = np.arange( 0, 1.01, 0.01 )
X, Y = np.meshgrid( x, x )
Z = X + Y
fig, (ax1, ax2) = plt.subplots( 1, 2 )
ax1.contourf( X, Y, Z, [1,2], colors='none', hatches='x' )
ax2.contourf( X, Y, Z, [1,2], colors='none', hatches='xx' )
plt.show()
main()
Run Code Online (Sandbox Code Playgroud)
产生输出
可能的重复:
这个问题有7年历史了,需要定义一个自定义类。这仍然是最好的选择吗?
这个问题基本上正是我要问的,但是MWE有点复杂,并且没有吸引任何答案。