使qt忽略特定的头包含文件

making qt ignore specific header include files

本文关键字:包含 文件 qt      更新时间:2023-10-16

我有一个正在运行的qt项目。出于构建目的,我使用waf构建工具。为了让同一个项目从waf启动和运行,我需要添加

#include "file.moc" 

在某些文件的末尾,以避免未定义的引用。但如果这些包含没有在qt中注释,我就找不到文件错误。如何使qt忽略某些文件包含。我想像这样的东西应该已经完成了

#ifndef Q_MOC_RUN
    #include "file.moc"
#endif

由于提供的信息有限,我只能展示waf的功能:

您可以包含moc文件未处理的文件。

示例包含在分布式源中https://code.google.com/p/waf/downloads/detail?name=waf-1.6.11.tar.bz2

子目录:

  • 操场/slow_qt/
  • 演示/qt4/

为了完整起见,简化示例:

默认包括

def options(opt):
opt.load('compiler_cxx qt4')
def configure(conf):
conf.load('compiler_cxx qt4')
conf.load('slow_qt4')
def build(bld):
bld(
    features = 'qt4 cxx cxxprogram',
    uselib   = 'QTCORE QTGUI QTOPENGL QTSVG',
    source   = 'some.cpp files.cpp',
    includes = '.',
    target   = 'dummy',
)

moc-cpp

def options(opt):
opt.load('compiler_cxx qt4')
def configure(conf):
conf.load('compiler_cxx qt4')
 def build(bld):
bld(
    features = 'qt4 cxx cxxprogram',
    uselib   = 'QTCORE QTGUI QTOPENGL QTSVG',
    source   = 'some.cpp files.cpp',
    target   = 'dummy',
    includes = '.')
)
相关文章: