I lapack und blas auf meinem Laptop richtig installiert haben, und ich kann durchCmake FindLAPACK.cmake und FindBLAS.cmake kann nicht verknüpfen lapack und blas
-L/usr/lib64 -lblas -llapack
in meinem Makefile mit verknüpfen.
Ich möchte Cmake verwenden, um ein Makefile und Link lapack und blas zu schaffen, ich bin mit FindLAPACK.cmake und FindBLAS.cmake von cmake bereitgestellt in /usr/share/cmake/Module/
Die CMakeLists. txt ist die Verwendung:
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})
Hier code_exe
meine ausführbare Datei ist lapack und blas Bibliotheken zu verbinden, erhalte ich einen Fehler
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
Kann mir jemand dabei helfen? Danke vielmals.
Wie Sie aus der Fehlermeldung sehen können, sind Pfade zu * libblas * und * lapack * Bibliotheken ** verbunden, was nicht das ist, was Sie wollen. Dies liegt daran, dass Sie sie in Anführungszeichen einschließen, wenn Sie die Variable 'lapackblas_libraries' initialisieren. Richtiger Weg: 'set (lapackblas_libraries $ {BLAS_LIBRARIES} $ {LAPACK_LIBRARIES})'. – Tsyvarev
Danke @Tsyvarev, das hilft wirklich. –