0

我试图运行一个项目,使用waf它使用boostlibrary 。为了克服一个问题,我需要将-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED参数传递给MOC. 我尝试在wscriptas中这样做

   bld(features ='cxx',
       source   ='GSTEngine.cpp',
       target   = 'GSTEngine.o',
       includes = qtinc+gstinc+taginc,use=['BOOST'],
       uselib   = qtlibs,
       cxxflags = ['-DQT_NO_KEYWORDS','-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED'])

但它失败了。如何将参数传递给MOCusing waf

4

1 回答 1

0

这里可能的问题是waf调用一个新任务moc可能与 cxxflags您上面定义的任务生成器不同。

一个可能的解决方法是将定义添加到waf环境中,如下所示:

conf.env.append_unique('DEFINES',
    ['QT_NO_KEYWORDS','BOOST_TT_HAS_OPERATOR_HPP_INCLUDED'])

如果您只想将定义添加到moc任务中,您可以实现自定义功能并将其添加到您的任务生成器中,该生成器会挖掘出moc任务并添加定义。

于 2013-02-07T16:02:34.420 回答