在Kubuntu Linux中更改R默认的C / C ++编译器

如果安装了需要编译的R包,

R CMD INSTALL package.tar.gz

从bash中,R默认使用gcc编译器。 现在发生的事情是,我的R软件包在Cran上用'clang'编译器设置发出警告,而这不会使用gcc编译器。

为了现在在我的本地机器上重现警告,我想调整本地编译器设置为在Cran-check服务器上使用的那些。

我发现应该可以通过在home文件夹中的某处创build一个Makevars.in文件来更改R默认编译器,但是我找不到它必须位于哪里以及为了使R使用“clang”而不是“gcc”而启用某些警告标志。

有没有人已经把他/她的Linux系统的R默认编译器从gcc切换到叮当,可以给我一个提示如何做到这一点?

我最喜欢的方法(我想我在这里详细说明)是使用我设置的~/.R/Makevars文件

 CFLAGS += -O3 -Wall -pipe -pedantic -std=gnu99 CXXFLAGS += -O3 -Wall -pipe -Wno-unused -pedantic #VER=-4.6 #VER=-4.7 VER=-4.8 CC=ccache gcc$(VER) CXX=ccache g++$(VER) SHLIB_CXXLD=g++$(VER) FC=ccache gfortran F77=ccache gfortran MAKE=make -j8 #CXX=clang++ #CC=clang 

更多,因为它也允许你切换到clang++而不是g++和更多。

我也在这里使用ccache来加速重复的构建 – 对于R包非常有用 ,你可以改变包代码而不是src/文件。

另一种方法是使用shell脚本包装器,在其中设置CCCXX和其他所有你想要修改的东西。