1

我正在编写一个用于实现代码的 wscript,其中包括 QDebug

#include <QDebug>

在我用于配置 qt 的 wscript 中,我指定了这些行

def configure(conf): 
    conf.env.append_value('CXXFLAGS', ['-DWAF=1'])  
    conf.load('compiler_cxx qt4') 
    conf.check_cfg(package='gstreamer-0.10', args='--cflags --libs',        
            uselib_store='GSTREAMER')       

./waf configure 的输出如下

vickey@tb:~/p2p$ ./waf configure
Setting top to                           : /home/vickey/tunebasket/p2p 
Setting out to                           : /home/vickey/tunebasket/p2p/build 
Checking for 'g++' (c++ compiler)        : /usr/bin/g++ 
Checking for 'gcc' (c compiler)          : /usr/bin/gcc 
Checking for program qmake-qt4           : /usr/bin/qmake-qt4 
Checking for program qmake4              : not found 
Checking for program qmake               : /usr/local/Trolltech/Qt-4.8.0/bin/qmake 
Checking for program uic-qt3             : not found 
Checking for program uic3                : /usr/local/Trolltech/Qt-4.8.0/bin/uic3 
Checking for program uic-qt4             : /usr/bin/uic-qt4 
Checking for uic version                 : version 4.7.4 
Checking for program moc-qt4             : /usr/bin/moc-qt4 
Checking for program rcc                 : /usr/local/Trolltech/Qt-4.8.0/bin/rcc 
Checking for program lrelease-qt4        : /usr/bin/lrelease-qt4 
Checking for program lupdate-qt4         : /usr/bin/lupdate-qt4 
Found the Qt4 libraries in               : /usr/local/Trolltech/Qt-4.8.0/lib 
Checking for program pkg-config          : /usr/bin/pkg-config 
Checking for pkg-config version >= '0.1' : yes 
Checking for 'QtCore_debug'              : not found 
Checking for 'QtGui_debug'               : not found 
Checking for 'QtUiTools_debug'           : not found 
Checking for 'QtNetwork_debug'           : not found 
Checking for 'QtOpenGL_debug'            : not found 
Checking for 'QtSql_debug'               : not found 
Checking for 'QtSvg_debug'               : not found 
Checking for 'QtTest_debug'              : not found 
Checking for 'QtXml_debug'               : not found 
Checking for 'QtXmlPatterns_debug'       : not found 
Checking for 'QtWebKit_debug'            : not found 
Checking for 'Qt3Support_debug'          : not found 
Checking for 'QtHelp_debug'              : not found 
Checking for 'QtScript_debug'            : not found 
Checking for 'QtDeclarative_debug'       : not found 
Checking for 'QtCore'                    : yes 
Checking for 'QtGui'                     : yes 
Checking for 'QtUiTools'                 : yes 
Checking for 'QtNetwork'                 : yes 
Checking for 'QtOpenGL'                  : yes 
Checking for 'QtSql'                     : yes 
Checking for 'QtSvg'                     : yes 
Checking for 'QtTest'                    : yes 
Checking for 'QtXml'                     : yes 
Checking for 'QtXmlPatterns'             : yes 
Checking for 'QtWebKit'                  : yes 
Checking for 'Qt3Support'                : yes 
Checking for 'QtHelp'                    : yes 
Checking for 'QtScript'                  : yes 
Checking for 'QtDeclarative'             : yes 
Checking for 'gstreamer-0.10'            : yes 
'configure' finished successfully 0.758s
vickey@tb:~/p2p$ ./waf build
Waf: Entering directory `/home/vickey/tunebasket/p2p/build'
gstreamer includes ['/usr/include/glib-2.0', '/usr/lib/x86_64-linux-gnu/glib-2.0/include', '/usr/include/gstreamer-0.10', '/usr/include/libxml2']
[9/9] qxx: src/player/GSTEngine.cpp -> build/src/player/GSTEngine.cpp.1.o
../src/player/GSTEngine.cpp:7:18: fatal error: QDebug: No such file or directory
compilation terminated.
Waf: Leaving directory `/home/vickey/tunebasket/p2p/build'
Build failed
 -> task in '' failed (exit status 1): 
    {task 16658960: qxx GSTEngine.cpp -> GSTEngine.cpp.1.o}
['/usr/bin/g++', '-DWAF=1', '-Wall', '-I/usr/include/glib-2.0', '-I/usr/lib/x86_64-linux-gnu/glib-2.0/include', '-I/usr/include/gstreamer-0.10', '-I/usr/include/libxml2', '-DHAVE_QTCORE=1', '-DHAVE_QTGUI=1', '-DHAVE_QTUITOOLS=1', '-DHAVE_QTNETWORK=1', '-DHAVE_QTOPENGL=1', '-DHAVE_QTSQL=1', '-DHAVE_QTSVG=1', '-DHAVE_QTTEST=1', '-DHAVE_QTXML=1', '-DHAVE_QTXMLPATTERNS=1', '-DHAVE_QTWEBKIT=1', '-DHAVE_QT3SUPPORT=1', '-DHAVE_QTHELP=1', '-DHAVE_QTSCRIPT=1', '-DHAVE_QTDECLARATIVE=1', '-DHAVE_GSTREAMER=1', '../src/player/GSTEngine.cpp', '-c', '-o', 'src/player/GSTEngine.cpp.1.o']

在配置步骤中,缺少一些 qt 调试文件。我认为使用 DWAF=1 可以解决它们。我做错了什么?

4

2 回答 2

0

似乎您忘记在任务生成器声明中使用 use='QTCORE' (您没有在此处发布)。

DWAF=1 的东西来自一个例子,绝对没有做任何事情。

于 2012-06-17T16:56:49.023 回答
0

要让 waf 找到 qtdebug 文件,您需要相应的 pc 文件。我以前没有。一旦您拥有/制作 .pc 文件并将它们放入正确的 PKG_CONFIG_PATH 中,waf 将自动拾取它们。

于 2012-07-25T11:25:59.207 回答