如何向extconf.rb添加C ++编译器标志
我正在编写Ruby扩展,我有一个标准的mkmf配置脚本,但我需要在所有C ++编译步骤中添加一个特殊的include标志( --std=c++0x
)。 我不希望它在C编译步骤中,因为它会抛出警告。 我该怎么做?
require 'mkmf' create_makefile('thing')
例如,我尝试了$CXXFLAGS << '-I..'
I $CXXFLAGS << '-I..'
,但CXXFLAGS尚未定义。 如果我使用$CXXFLAGS = '-I..'
I $CXXFLAGS = '-I..'
,它稍后会被覆盖。
这对我有用。
$CXXFLAGS += " -std=c++11 "
我已经看到类似的情况通过将$(CXX)定义为编译器和所需参数的组合来处理。
CXX=gcc --std=c++0x
这是一个非常古老的问题,但这对我有用:
$CXXFLAGS += '-I..'
只需编辑mkmf生成的Makefile,这是最简单的方法。
在extconf.rb中的create_makefile()之后打开并重写Makefile。
编辑RbConfig的东西很难。