首页 > 解决方案 > LNK2019/1120 错误:犰狳 / BLAS LAPACK / VS 2019 / clang

问题描述

当我使用cmakeVS 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")

标签: cmakedependencieslinker-errorsarmadillolapack

解决方案


推荐阅读