在 Windows 10 上使用 Armadillo 作为库与 CLion 和 CMake 的问题
Posted
技术标签:
【中文标题】在 Windows 10 上使用 Armadillo 作为库与 CLion 和 CMake 的问题【英文标题】:Issues using Armadillo as a library with CLion & CMake on Windows 10 【发布时间】:2017-10-08 12:31:18 【问题描述】:我正在尝试在 Windows 10 上的 CLion 项目中使用 Armadillo 库,但是当我尝试通过 Reload CMake Project
(使用内置 CMake 编译器)构建时,片刻后会出现此错误:
CMake Error at C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:137 (message):
Could NOT find Armadillo (missing: ARMADILLO_LIBRARY) (found version
"0.0.0")
Call Stack (most recent call first):
C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/FindPackageHandleStandardArgs.cmake:377 (_FPHSA_FAILURE_MESSAGE)
C:/Program Files/JetBrains/CLion 2017.2.3/bin/cmake/share/cmake-3.8/Modules/FindArmadillo.cmake:77 (find_package_handle_standard_args)
CMakeLists.txt:4 (find_package)
我从here 下载了库的内容,并将其移动到位于$PROGRAM FILES\Armadillo
的文件夹中。为了在我的项目中使用它,我使用了FindArmadillo module,如下所示:
find_package(Armadillo REQUIRED) # this is where the error occurs
include_directories($ARMADILLO_INCLUDE_DIRS)
...
add_executable(MyProject $SOURCE_FILES)
target_link_libraries(MABE $ARMADILLO_LIBRARIES)
我有什么遗漏吗?我必须先编译库(或类似的东西)才能在我的项目中使用它吗?还是我搞砸了下载?
提前致谢!
【问题讨论】:
你下载了哪个包?您的链接未指定。几乎可以肯定,您将需要构建 Armadillo 库。armadillo.lib
是否存在于`C:\Program Files\armadillo\lib` 中?
我下载了armadillo-8.100.1.tar.xz
包。实际上,犰狳目录中既不存在 lib 目录,也不存在 armadillo.lib
文件。对不起,如果这是一个愚蠢的问题,但我如何建立图书馆?或者更确切地说,我如何创建 .lib 文件?我必须创建自己的 CMakeLists.txt 文件还是使用 zip 中包含的文件?
您可以使用存档中包含的那个。构建完成后,cmake 应该能够找到生成的 armadillo.lib
和 armadillo.dll
(如果您构建了共享库)。请注意,如果您想要更好的空间矩阵支持,您还需要打开 include/armadillo_bits/config.hpp
并取消注释 #define ARMA_USE_LAPACK
和 #define ARMA_USE_BLAS
以与预编译的 BLAS 和 LAPACK 库链接。
【参考方案1】:
不确定这是否仍然相关,但对于一个小项目,您可以将解压缩的文件保存在项目根目录中,然后将此行添加到您的 CMakeLists.txt
:
target_include_directories(YOURPROJECTNAME PUBLIC armadillo/include)
我只是一个初学者,发现这是添加许多库的最简单的解决方案:)
希望这会有所帮助!
【讨论】:
以上是关于在 Windows 10 上使用 Armadillo 作为库与 CLion 和 CMake 的问题的主要内容,如果未能解决你的问题,请参考以下文章
使用 CMake 在 Windows 10 上构建 uWebSockets
在windows 10上使用qemu安装Windows 10虚拟机
在windows 10上使用qemu安装Windows 10虚拟机