为什么';Rtools 3.1支持C++;11在窗户上

为什么';Rtools 3.1支持C++;11在窗户上,r,rcpp,R,Rcpp,最新版本的Rtools(3.1)似乎没有包含支持C++11的g++版本。有什么特别的原因吗?也许是宝贵的志愿者时间 Rtools使用g++4.6.2。这对于R来说是完全合适的,因为R是一个C程序 现在,我们中的许多人都使用C++和R(并且从 Rcpp < /COD>标签中判断,你也是如此),如果你想使用仅在G++ 4.7、4.8、AFAIK尚未发布的4.9或相当于CLAN版本的特性,并且实际上你只限于Windows,则确实会造成问题。p> 在Linux或OS X上,事情会简单一些(虽然OS X在

最新版本的Rtools(3.1)似乎没有包含支持C++11的g++版本。有什么特别的原因吗?

也许是宝贵的志愿者时间

Rtools使用g++4.6.2。这对于R来说是完全合适的,因为R是一个C程序

现在,我们中的许多人都使用C++和R(并且从<代码> Rcpp < /COD>标签中判断,你也是如此),如果你想使用仅在G++ 4.7、4.8、AFAIK尚未发布的4.9或相当于CLAN版本的特性,并且实际上你只限于Windows,则确实会造成问题。p> 在Linux或OS X上,事情会简单一些(虽然OS X在10.9发布后也有自己的问题,但它正在变得更好)


需要有人自愿提供更好/更新的MinGW,或者付钱给他人提供。如果您查看旧的发布公告,那么Rtools编译器并没有经常升级。据我所知,只有一个R核心成员在做这件事。虽然那个特定的R核心成员对C++和Windows上的G+编译器的状态非常了解,但他也主要是C程序员……

< P>我将对此进行研究。在windows上设置允许C++11的工具集可能会阻止Rcpp11的广泛采用。我当然希望人们开始使用Rcpp11。下周我要买一个视窗盒子来装这个(还有其他东西)

简而言之,我们需要一个至少基于GCC4.8系列的Rtools版本。第一步是证明这个版本成功地从源代码构建了R


可能有帮助的是开始使用C++11来发布软件包

Rtools(gcc 4.6.3)附带的编译器足以运行Rcpp11的devel版本的测试套件,该版本广泛使用C++11的功能


关于不受支持的特性的详细信息是可用的,但是受支持的子集已经感觉像C++11了。只有几件事我必须妥协(委托构造函数和模板别名)。它们使代码变得更好,但我们现在可以没有它们

在R手册中有一些关于将C++11与R(包括Windows)结合使用的讨论:对于针对R3.1.0的mavericks二进制版本,OSX是执行R和C++11的最佳平台。就像我说的,Linux也能正常工作。在g++4.8和当前的clang之间进行选择也不会有什么坏处。然而,问题是关于Windows的……在不久的将来我们有没有可能获得Rcpp11文档?这将是编写软件包的巨大动力。