Я учусь использовать CMake и хочу использовать библиотеку линейной алгебры Armadillo, не устанавливая ее. Я следовал этому руководству и настроил каталог своего проекта в системе на базе Unix следующим образом:
Код: Выделить всё
.. test_arma.cc (Includes code for matrix multiplication with `#include `)
.. external/
.....armadillo/
.. CMakeLists.txt
.. build/
После настройки выполнение команды make приводит к возникновению «неустранимая ошибка: броненосец: нет такого файла или каталога». Ниже я предоставил содержимое файла CMakeLists.txt. Любая помощь будет принята с благодарностью.
Код: Выделить всё
cmake_minimum_required(VERSION 3.16.3)
project(PHI)
add_executable(test_arma test_arma.cc)
add_subdirectory(external/armadillo EXCLUDE_FROM_ALL)
target_include_directories(${PROJECT_NAME}
PUBLIC external/armadillo/include
)
target_link_directories(${PROJECT_NAME}
PRIVATE external/armadillo
)
target_link_libraries(${PROJECT_NAME}
armadillo
)
Я попробовал прочитать FAQ по Armadillo и думаю, что это как-то связано с опцией -DARMA_DONT_USE_WRAPPER. Но я не могу понять, что происходит не так, поскольку я новичок в C++ и CMake и не уверен, какие термины подходят для поиска.
Подробнее здесь:
https://stackoverflow.com/questions/783 ... with-cmake