从源代码安装 R 包时如何更改使用哪个 C++ 版本编译器?

Eis*_*sek 1 r package rcpp

我正在尝试使用remotes::install_github(“pkgname”)从源安装R包。我收到以下错误:

/bin/sh: /usr/local/Cellar/gcc/9.2.0/bin/g++-7: No such file or directory
Run Code Online (Sandbox Code Playgroud)

我查了一下,我已经g++-9改为了。我一直在寻找一种方法来更改设置以定向到正确的路径,但到目前为止还没有运气。我什至不确定要查看哪个包或是否使用 R 配置文件。任何帮助将不胜感激。

我在 Mac OSX 10.15.5 (Catalina) 上使用 R 版本 3.6.3。我安装了 XCode 开发人员工具,但每当我运行检查时,RStudio 都会建议我安装它们,就好像它找不到它一样。

非常感谢

Dir*_*tel 5

除了@bats_n_stats(很棒的句柄!)所写的内容之外,以下内容成立:

每个 Rcpp 的使用都是由R 本身驱动的

R 可以通过调用告诉我们它使用什么R CMD config。在我的系统上

edd@rob:~$ R CMD config CXX
ccache g++
edd@rob:~$ 
Run Code Online (Sandbox Code Playgroud)

意味着(无限定版本)的(标准)值与(不同主题,我过去曾在博客中介绍过)g++提供的加速缓存结合使用ccache

您还可以在实际的配置文件中查看该via grep(我直接在下面查找)

edd@rob:~$ grep ^CXX $(R RHOME)/etc/Makeconf
CXX = g++ -std=gnu++11
CXXCPP = $(CXX) -E
CXXFLAGS = -g -O2 -fdebug-prefix-map=/build/r-base-Do_dS_/r-base-4.0.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO)
CXXPICFLAGS = -fpic
CXX11 = g++
CXX11FLAGS = -g -O2 -fdebug-prefix-map=/build/r-base-Do_dS_/r-base-4.0.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO)
CXX11PICFLAGS = -fpic
CXX11STD = -std=gnu++11
CXX14 = g++
CXX14FLAGS = -g -O2 -fdebug-prefix-map=/build/r-base-Do_dS_/r-base-4.0.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO)
CXX14PICFLAGS = -fpic
CXX14STD = -std=gnu++14
CXX17 = g++
CXX17FLAGS = -g -O2 -fdebug-prefix-map=/build/r-base-Do_dS_/r-base-4.0.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO)
CXX17PICFLAGS = -fpic
CXX17STD = -std=gnu++17
CXX20 = g++
CXX20FLAGS = -g -O2 -fdebug-prefix-map=/build/r-base-Do_dS_/r-base-4.0.0=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -g $(LTO)
CXX20PICFLAGS = -fpic
CXX20STD = -std=gnu++2a
CXX_VISIBILITY = -fvisibility=hidden
edd@rob:~$ 
Run Code Online (Sandbox Code Playgroud)

这些值来自 R 本身构建时。因此,如果这对您的 Catalina 系统造成影响,您需要检查您从哪里获得 R 以及那里可能存在什么问题。使用表示 macOS 特定的内容,可能不是https://mac.r-project.org/页面Cellar中建议的 R。