如何向extconf.rb添加C ++编译器标志

时间:2010-09-17 12:44:12

标签: c++ c ruby

我正在编写一个Ruby扩展,我有一个标准的mkmf配置脚本,但我需要在所有C ++编译步骤中添加一个特殊的include标志(--std=c++0x)。我不希望它在C编译步骤中,因为它会抛出警告。我该怎么做?

require 'mkmf'
create_makefile('thing')

例如,我尝试了$CXXFLAGS << '-I..',但尚未定义CXXFLAGS。如果我使用$CXXFLAGS = '-I..',则稍后会覆盖它。

4 个答案:

答案 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很难。