1

我刚刚在一个没有文件的测试目录下创建了一个三行 CMakeLists.txt,如下所示。我尝试了导出库路径等,但没有一个基本技巧起作用。如何使这项工作?

cmake_minimum_required(VERSION 3.6 FATAL_ERROR)
project(test CXX)
find_package(BLAS REQUIRED)

并运行它并得到以下错误。

ramki@hostname:~/temp>CC=CC CXX=CC cmake ../nmflibrary/test/
-- The CXX compiler identification is GNU 6.3.0
-- Cray Programming Environment 2.5.13 CXX
-- Check for working CXX compiler: /opt/cray/craype/2.5.13/bin/CC
-- Check for working CXX compiler: /opt/cray/craype/2.5.13/bin/CC -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Looking for C++ include pthread.h
-- Looking for C++ include pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - found
-- Found Threads: TRUE  
CMake Error at /autofs/nccs-svm1_sw/titan/.swci/0-login/opt/spack/20170612/linux-suse_linux11-x86_64/gcc-4.3.4/cmake-3.9.0-owxiriblogovogl5zbrg45ulm3ln34cx/share/cmake-3.9/Modules/FindBLAS.cmake:699 (message):
  A required library with BLAS API not found.  Please specify library
  location.
Call Stack (most recent call first):
  CMakeLists.txt:6 (find_package)


-- Configuring incomplete, errors occurred!
See also "/ccs/home/ramki/temp/CMakeFiles/CMakeOutput.log".
See also "/ccs/home/ramki/temp/CMakeFiles/CMakeError.log".

如何使用 blas 制作 find_package 所需的工作在 cray 包装纸上?

4

1 回答 1

1

Cray 编译器隐式链接 BLAS 和 LAPACK 库,因此它们通常不在命令行中给出。检测这种情况的功能已添加到 BLAS 的 CMake 3.13.0 中,并将添加到 LAPACK 的 CMake 3.16.0 中。

因此,如果您只对 BLAS 没问题,只需下载更新的 CMake 二进制 tarball。

于 2019-10-05T13:17:43.323 回答