在编写R扩展:1.2.1使用Makevars中指定的CXX_STD=CXX11文件是R独有的CXX_STD=CXX11的变体。您列出的许多变量都称为隐式变量。 含义为:
隐式规则告诉make如何使用习惯技术,这样您就不必在要使用它们时详细指定它们。
这些隐式变量规定应使用哪种编译器以及可用的选项。
在R中,我们关心以下默认编译器选项:
CC程序,用于编译C程序; 默认为“ cc”。
CXX程序,用于编译C ++程序; 默认为“ g ++”。
CPP程序,用于运行C预处理程序,并将结果输出到标准输出; 默认为“ $(CC)-E”。
FC程序,用于编译或预处理Fortran和Ratfor程序; 默认为“ f77”。
下一组值详细说明了编译器应使用哪些选项。 通常,所有这些选项的默认值为一个空字符串。
CFLAGS提供给C编译器的额外标志。
CXXFLAGS提供给C ++编译器的额外标志。
CPPFLAGS额外的标志提供给C预处理程序和使用它的程序(C和Fortran编译器)。
FFLAGS提供给Fortran编译器的额外标志。
LDFLAGS额外标志,用于在编译器应调用链接程序“ ld”(例如-L)时提供给它们。 应该添加库(-lfoo) 改为LDLIBS变量。
LDLIBS库标志或在应调用链接程序“ ld”时赋予编译器的名称。 LOADLIBES已弃用(但 仍支持)替代LDLIBS。 非库链接程序标志,例如 作为-L,应放在LDFLAGS变量中。
现在,R根据不同的C ++ ISO标准定义了“额