我是第一次接触CPP,GUROBI,特别是CMAKE。我正在做一个项目,我正在尝试编译一个C++程序,它需要链接到GUROBI外部库libgurobi81.so和libgurobi_c++.a,如GUROBI here和here中所述。我的cmake和我的项目的结构是这样的:
-folder1
--src
---cmake
--gurobi
---lib
----libgurobi81.so
----libgurobi_c++.a我的代码可以正确编译,但只有在链接到库时才会失败。我尝试使用CMAKE来查找这些库:
find_library(C_GUROBI_LIB NAMES libgurobi81.so gurobi81 gurobi81_light
PATHS ${LD_LIBRARY_PATH}
/path/to/folder1/gurobi/lib/
)
find_library(CPP_GUROBI_LIB NAMES gurobi_c++
PATHS ${LD_LIBRARY_PATH}
/path/to/folder1/folder1/gurobi/lib/
)然后打印出来:
message("C_GUROBI_LIB points to " ${C_GUROBI_LIB})
message("CPP_GUROBI_LIB points to " ${CPP_GUROBI_LIB})但是,即使库在该文件夹中,CMAKE也找不到它,并且不显示任何内容:
C_GUROBI_LIB points to
CPP_GUROBI_LIB points to 发布于 2019-02-24 06:08:28
我找到了一个可行的解决方案,改编自here
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")我还有其他一些问题,比方说这个库是为64位编译的,而且CMAKE也不允许添加共享文件。所以我更改了一些参数,但即使这样,CMAKE也没有找到文件。
https://stackoverflow.com/questions/54842382
复制相似问题