【问题标题】:Building R package with C++11 & Rcpp on Windows在 Windows 上使用 C++11 和 Rcpp 构建 R 包
【发布时间】:2013-09-24 00:41:05
【问题描述】:

系统规格:

  • 操作系统 - Windows 7 Professional 和 Mac OS X 10.6.8
  • MinGW - 4.7.3 及以上版本
  • R - 3.0.1
  • Rcpp - 0.10.4

我无法在 Windows(32 位或 64 位版本)上编译包含 C++11 代码的工作包。 MinGW 编译并安装包,但使用调用 C++11 代码的函数会导致 R 崩溃。我正在使用 C++11 的 random 库 - 特别是带有 Mersenne Twister 生成器的简陋二项分布。

我确信我的代码是正确的,因为它的 UNIX 版本(在 Mac OS X 上使用 gcc 4.7.3 编译)可以按预期工作,完全没有任何问题。

问题不在于 Rcpp 或 RcppArmadillo - 事实上,我能够通过使用 Armadillo 的随机数生成器使我的包运行。但是,我非常渴望将来能够使用 C++11,尤其是库。

关于如何解决这个问题的任何想法?

【问题讨论】:

  • 您是否必须做任何非标准的事情才能使用 MinGW 4.7.3 而不是 Rtools 中的那个(例如重建 R & Rcpp)?

标签: windows r c++11 mingw rcpp


【解决方案1】:

Rcpp Gallery 上有 C++11 示例——您可以尝试在最后重新运行这些示例。

特别是,this post creates RNG draws 使用三种不同的方式:R、Boost 和 C++11。你能看看这对你有用吗?

【讨论】:

  • 是的,确实如此 - 问题出在我使用的种子上。我使用了 std::random_device - 看起来 Windows 不支持它。感谢您澄清这一点!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-03
  • 1970-01-01
  • 2014-06-25
相关资源
最近更新 更多