CMAKE 找不到 GUROBI 外部库
CMAKE not finding GUROBI external library
我是 CPP、GUROBI 和 CMAKE 的新手。我正在做一个项目,我正在尝试编译一个 C++ 程序,它需要 link 到 GUROBI 外部库 libgurobi81.so
和 libgurobi_c++.a
,如 GUROBI 站点中所述 here and here.
我的 cmake 和我的项目的结构是这样的:
-folder1
--src
---cmake
--gurobi
---lib
----libgurobi81.so
----libgurobi_c++.a
我的代码编译正确,但只有在 link 使用库时才会失败。
我试图让 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
我找到了一个可能的解决方案,改编自 here:
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
我还有一些其他问题,例如库是为 64 位编译的,而且 CMAKE 不允许添加共享文件。所以我必须更改一些参数,但即使这样,CMAKE 也没有找到该文件。
我是 CPP、GUROBI 和 CMAKE 的新手。我正在做一个项目,我正在尝试编译一个 C++ 程序,它需要 link 到 GUROBI 外部库 libgurobi81.so
和 libgurobi_c++.a
,如 GUROBI 站点中所述 here and here.
我的 cmake 和我的项目的结构是这样的:
-folder1
--src
---cmake
--gurobi
---lib
----libgurobi81.so
----libgurobi_c++.a
我的代码编译正确,但只有在 link 使用库时才会失败。 我试图让 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
我找到了一个可能的解决方案,改编自 here:
set(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")
我还有一些其他问题,例如库是为 64 位编译的,而且 CMAKE 不允许添加共享文件。所以我必须更改一些参数,但即使这样,CMAKE 也没有找到该文件。