2016-07-13 5 views
0

я правильно установлен LAPACK и Блас на моем ноутбуке, и я могу связать с помощьюCMake FindLAPACK.cmake и FindBLAS.cmake не могут связать LAPACK и Блас

-L/usr/lib64 -lblas -llapack 

в моем Makefile.

Я хочу использовать CMake, чтобы создать Makefile и ссылку LAPACK и Блас, я использую FindLAPACK.cmake и FindBLAS.cmake предоставленную CMake в /USR/доли/CMake/Модули/

The 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}) 

Здесь code_exe мой исполняемый файл, чтобы связать LaPack и Блас библиотеки, я получаю сообщение об ошибке

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 

Может ли кто-нибудь помочь мне в этом? Большое спасибо.

+0

Как вы можете видеть из сообщения об ошибке, пути к библиотекам * libblas * и * lapack * ** объединены **, что не то, что вы хотите. Это связано с тем, что вы вставляете их в двойные кавычки при инициализации переменной 'lapackblas_libraries'. Правильный способ: 'set (lapackblas_libraries $ {BLAS_LIBRARIES} $ {LAPACK_LIBRARIES})'. – Tsyvarev

+0

Спасибо @ Цыварев, это действительно помогает. –

ответ

0

удалить двойные кавычки. такие как:

set(lapackblas_libraries ${BLAS_LIBRARIES} ${LAPACK_LIBRARIES}) 

 Смежные вопросы

  • Нет связанных вопросов^_^