如果安装一个需要编译的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以及您要修改的其他所有内容.