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