2016-07-13 15 views
0

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.

+0

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

+0

Danke @Tsyvarev, das hilft wirklich. –

Antwort

0

Entfernen Sie die doppelten Anführungszeichen. Wie:

Verwandte Themen