gpt4 book ai didi

r - 使用 Rtools/MinGW 编译 Armadillo

转载 作者:行者123 更新时间:2023-12-01 23:56:32 24 4
gpt4 key购买 nike

我试图为 Windows 编译 Armadillo 线性代数库,但没有成功。使用 armadillo-4.200.0 源,我安装了 Rtools-3.1,并在路径中安装了 MinGW 的 msys。

因为我的最终目标是使用 Rcpp 和 RcppArmadillo,所以我的想法是我需要使用与编译我的 Rcpp/RcppArmadillo 文件相同的编译器来制作 Armadillo 。不幸的是,在尝试编译 Armadillo 时:

$ ./configure
[...snip...]
-- The CXX compiler identification is unknown
-- Check for working CXX compiler: cl
CMake Warning at CMakeLists.txt:3 (PROJECT):
To use the NMake generator, cmake must be run from a shell that can use the
compiler cl from the command line. This environment does not contain
INCLUDE, LIB, or LIBPATH, and these must be set for the cl compiler to
work.

CMake Error: your CXX compiler: "cl" was not found. Please set CMAKE_CXX_COMPILER to a valid compiler path or name.
[...snip...]

(我尝试将 CMAKE_CXX_COMPILER 设置到我的 Rtools gcc.exe 但没有成功。)

我相信它正在寻找可视化 C 编译器,尽管文档暗示它可以单独使用 mingw 或 cygwin 编译器环境完成。

或者:

  1. 用不同版本的编译器编译armadillo库和后续的Rcpp代码是否有问题? (Rtools-3.1 的 gcc 版本为 4.6.3,MinGW 的 gcc 版本为 4.8.1。)

  2. 是否有仅使用 Rtools 集合编译 Armadillo 的干净方法?

(Win7 x64、R-3.1.0、cygwin gcc 4.8.2、rtools 3.1 和 gcc 4.6.3。)

最佳答案

RcppArmadillo 提供了自己的 Armadillo 副本来避免这个问题。由于 RcppArmadillpo 是从 R 使用的,它可以依赖 R(和 R 的配置)来获取 LAPACK、BLAS 等 pp。我们不需要运行配置来从 R 使用 Armadillo,所以我们不这样做。

RcppArmadillo 安装通常的 R CMD INSTALL ... 方式;这在每次发布之前都经过测试并且工作可靠。

正如您所说“您的最终目标是使用 Rcpp 和 RcppArmadillo”,您实际上已经完成了 R CMD INSTALL ...。您可以从源代码复制该步骤,并测试包——所有这些都应该“正常工作”。

另一件要记住的事情是“编写 R 扩展”和“R 安装和管理”手册中关于您的编译器的内容。就 R 而言,您的 g++ 4.8.* 不存在。只有 Rtools 版本很重要,否则您会很快进入非标准领域。

关于r - 使用 Rtools/MinGW 编译 Armadillo ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23393637/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com