找到 BLAS 给出 lib 的路径

Find BLAS giving the path to the lib

我在使用 CMake 2.8.9 构建的 C++ 代码中使用 blas/lapack。我想使用 CMake 命令查找 BLAS 和 LAPACK 库:

find_package(BLAS REQUIRED)
find_package(LAPACK REQUIRED)

但它可以找到它,因为库位于特定目录中。错误如下:

CMake Error at /softs/cmake/2.8.9/64/gcc/4.7.2/share/cmake-2.8/Modules/FindBLAS.cmake:594 (message):
A required library with BLAS API not found.  Please specify library

我的问题:我如何指定一个额外的路径来帮助 FindBLAS 工作,就像我为 Boost 做的一样(见下文)?

set(PATH_BOOST "/softs/boost/1.53.0/${ARCH}/${COMPILER_NAME}/${COMPILER_VERSION}")
set(BOOST_INCLUDEDIR "${PATH_BOOST}/include")
set(BOOST_LIBRARYDIR "${PATH_BOOST}/lib")
set(Boost_USE_MULTITHREAD ON)
set(Boost_USE_STATIC_LIBS ON)
find_package(Boost 1.53.0 REQUIRED COMPONENTS thread system)

您正在寻找的是 BLAS_DIRLAPACK_DIR 变量。

set(BLAS_DIR /path/to/blas)
find_package(BLAS REQUIRED)
set(LAPACK_DIR /path/to/lapack)
find_package(LAPACK REQUIRED)