Hao*_*Shi 2 makefile cmake shared-libraries blas lapack
我已经在我的笔记本电脑上正确安装了 lapack 和 blas,我可以通过使用链接
-L/usr/lib64 -lblas -llapack
Run Code Online (Sandbox Code Playgroud)
在我的 Makefile 中。
我想使用 cmake 创建一个 Makefile 并链接 lapack 和 blas,我在 /usr/share/cmake/Modules/ 中使用 cmake 提供的 FindLAPACK.cmake 和 FindBLAS.cmake
CMakeLists.txt 是使用:
find_package(BLAS)
find_package(LAPACK)
if(LAPACK_FOUND AND BLAS_FOUND)
set(lapackblas_libraries "${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}")
endif()
target_link_libraries(code_exe ${lapackblas_libraries})
Run Code Online (Sandbox Code Playgroud)
这code_exe是我链接 lapack 和 blas 库的可执行文件,出现错误
make[2]: *** No rule to make target `/usr/lib64/libblas.so /usr/lib64/liblapack.so', needed by `test/tensortest'. Stop.
make[1]: *** [test/CMakeFiles/tensortest.dir/all] Error 2
make: *** [all] Error 2
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我吗?非常感谢。
小智 6
去掉双引号。如:
set(lapackblas_libraries ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES})
Run Code Online (Sandbox Code Playgroud)