0

在我的 Gurobi C++ 程序中,我尝试使可执行文件可以在没有安装 Gurobi 的其他机器上移植。

当我将可执行文件移动到另一台机器时,错误消息如下:

dyld: Library not loaded: libgurobi60.so
 Referenced from: <executable_folder>
 Reason: image not found
Trace/BPT trap: 5

我在 Gurobi 文件夹内的 lib 文件夹中找到了 libgurobi60.so 和 libgurobi_c++.a

是因为版权问题还是其他原因?

在 Mac OS 10.10、Gurobi 6.0.0 中编译

4

2 回答 2

1

您的项目似乎依赖于一个名为的共享对象文件libgurobi60.so,一旦移动可执行文件就无法访问该文件。

确保 .so 文件与可执行文件一起移动。如果 .so 文件与可执行文件一起保存,但您仍然看到此错误,则可执行文件正在错误位置搜索 .so。

于 2015-02-03T21:17:29.487 回答
0

要运行与 Gurobi 链接的可执行文件,您需要

  1. 拥有适用于您的机器的 Gurobi许可证文件(除非您使用的是计算服务器
  2. 除非文件位于默认位置,否则设置变量 GRB_LICENSE_FILE
  3. 将共享库 libgurobixx 放在标准位置,或由环境变量 LD_LIBRARY_PATH 或 DYLD_LIBRARY_PATH 指定的目录中
于 2015-02-04T01:12:39.290 回答