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

Dan*_*her 3 linux gcc r clang

如果安装一个需要编译的R包

R CMD INSTALL package.tar.gz

从bash开始,R默认使用gcc编译器.现在发生了我的R-package在Cran上发出一个带有'clang'编译器设置的警告,这个设置没有使用gcc编译器.

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

我发现应该可以通过在主文件夹中的某处创建一个Makevars.in文件来更改R默认编译器,但是我找不到它必须位于何处以及必须在那里写什么才能使R到使用'clang'启用某些警告标志而不是'gcc'.

有没有人已经开启他/她的Linux系统R默认编译器从gcc到clang并且可以给我一个提示如何做到这一点?

Dir*_*tel 17

我最喜欢的方法(我想我之前详述过)是使用~/.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
Run Code Online (Sandbox Code Playgroud)

还有更多,因为它也允许你切换到clang++而不是g++更多.

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

另一种方法是shell脚本包装器,您可以在其中设置CC,CXX以及您要修改的其他所有内容.