问题我试图告诉我的包使用gcc来编译C++代码而不是clang。为什么我的Makevars文件中的CXX标志没有被使用?(我期待/希望解决方案是我忽略的非常简单的东西。)据我了解(参见引用资料),我可以在其中指定CXX*标志src/Makevars包中,或者~/.R/Makevars但是,我无法使用选项1,只能使用选项2。构建示例以下是显示我正在使用的构建选项的屏幕截图。在每种情况下,我都会同时显示Makevars和/.R/Makevars文件,以显示我在每种情况下使用的是哪一个。选项1:src/Makevars这里我在src/Makevars中指定了CXX11=/usr/local/
我创建了一个新的Rcpp包(通过使用RStudio)。此包包含使用以下编译器选项编译的C++函数:clang++-I/Library/Frameworks/R.framework/Resources/include-DNDEBUG-I/usr/local/include-I/usr/local/include/freetype2-I/opt/X11/include-I"/Library/Frameworks/R.framework/Versions/3.2/Resources/library/Rcpp/include"-fPIC-Wall-mtune=core2-g-O2-cRcppE
我有这个独立的C++代码我正试图用R包装包。我的问题是我绝对希望它与-O3标志开启。所以在src/Makevars文件中我说:PKG_CPPFLAGS=-I../inst/includePKG_CXXFLAGS=-O3CXX_STD=CXX11当我在我的电脑上安装我的包时机器,我明白了:g++-std=c++0x-I/usr/share/R/include-DNDEBUG-I../inst/include-O3-fpic-g-O2-fstack-protector--param=ssp-buffer-size=4-Wformat-Wformat-security-Werror=form