December 8, 2021

R包安装过程中开启C++11支持

版权声明:本文为博主原创文章,转载请注明原文出处!

作者:阿振

写作时间:


R包安装过程中开启C++11支持

自打工作以后,就很少有闲余时间写写博客,分享自己学习的点点滴滴了。也许这就是上学和工作的区别吧。

问题描述

打算利用R读取ASD光谱文件,需要安装prospectr包,使用常规命令install.packages("prospectr")死活安装不上,提示需要编译器支持C++11。

报错信息如下:
“*** C++11 compiler required; enable C++11 mode in your compiler, or use an earlier version of Armadillo”

可是我的编译器是支持C++11的呀,这就是如何开启支持的问题了,经过千方百计搜索,得到了如下圆满的解决方案。

问题解决

使用R的withr包设置编译环境:

library(withr)
with_makevars(c(PKG_CFLAGS = "-std=c++11"), install.packages("prospectr"), assignment = "+=")

其中,PKG_CFLAGS指示了编译器的附加参数。