我尝试使用waf
使用boost
库运行项目。要克服problem我需要将-DBOOST_TT_HAS_OPERATOR_HPP_INCLUDED
参数传递给MOC
。我尝试在wscript
作为
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'])
但失败了。如何使用MOC
将参数传递给waf
?
答案 0 :(得分:0)
此处可能存在的问题是,waf
调用的new task for moc
可能不会与您在上面定义的任务生成器具有相同的cxxflags
。
可能的解决方法是将定义添加到waf
环境中,如下所示:
conf.env.append_unique('DEFINES',
['QT_NO_KEYWORDS','BOOST_TT_HAS_OPERATOR_HPP_INCLUDED'])
如果您只想将定义添加到moc
任务,您可以实现自定义功能并将其添加到任务生成器中,挖掘moc
任务并添加定义。