LNK2019 / 1120 Ошибка: броненосец / BLAS LAPACK / VS 2019 / лязг - PullRequest
0 голосов
/ 11 октября 2019

Когда я использую cmake с VS 2019 (win10) , нет меню свойств проекта для установки дополнительных зависимостей. Я думаю, что я должен сделать это, используя cmake команды в cmakelists.txt файле. Я могу построить с Armadillo, но если .cpp включает в себя det(A), сборка команд создает ошибку компоновщика. Я думаю, что не смогу связать с библиотеками blas и lapack.

Я включил каталог Armadillo\armadillo-9.800.1\include. Я также включил каталог Armadillo\armadillo-9.800.1\examples\lib_win64, но этого не достаточно, если я правильно понял. Мне нужно знать соответствующую команду для установки дополнительных зависимостей VS в cmake.

Я получаю сообщение об ошибке: LNK2019 unresolved external symbol dgetrf referenced in function void __cdecl arma::lapack::getrf<double>(int *,int *,double *,int *,int *,int *)

Содержимое cmakelists.txt:

project(CMakeProject9)

cmake_minimum_required (VERSION 3.8)

# Add source to this project's executable.
add_executable (CMakeProject9 "CMakeProject9.cpp" "CMakeProject9.h")

# TODO: Add tests and install targets if needed.
target_include_directories(CMakeProject9 PRIVATE "C:/Projects/Armadillo/armadillo-9.800.1/include" "C:/Projects/Armadillo/armadillo-9.800.1/examples/lib_win64")

target_link_libraries(CMakeProject9 PRIVATE "C:/Projects/Armadillo/armadillo-9.800.1/examples/lib_win64")

Даже если я удаляю команды связывания из файла cmakelists.txt (добавление ниже) Я получаю ту же ошибку. Они неэффективны. Или я не могу использовать их правильно.

project(CMakeProject9)

    cmake_minimum_required (VERSION 3.8)

    # Add source to this project's executable.
    add_executable (CMakeProject9 "CMakeProject9.cpp" "CMakeProject9.h")

    # TODO: Add tests and install targets if needed.
    target_include_directories(CMakeProject9 PRIVATE "C:/Projects/Armadillo/armadillo-9.800.1/include")
...