如果安装了需要编译的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脚本包装器,在其中设置CC
, CXX
和其他所有你想要修改的东西。