Boost.Build/bjam和Qt

tac*_*ice 8 c++ qt boost-build bjam

我正在尝试设置一个Boost.Build .jamroot文件来编译Qt 4.8项目,但它似乎忽略了.ui文件和应该是moc:ed的.cpp文件.我尝试在qt4.jam内部进行探索,添加更多的ECHO:s,但我不确定在哪里看.

例如,似乎uic-generator的run方法没有被调用(init确实),但我认为它应该是.

我的jamroot文件看起来像这样:

import qt4 ;
if ! [ qt4.initialized ]
{
    ECHO "oh nooo" ;
}
import cast ;

exe application :
    # For example
    [ cast _ moccable-cpp : ./src/something.cpp ] 
    [ glob-tree *.ui  : .svn ] 
    ;
Run Code Online (Sandbox Code Playgroud)

我得到的唯一输出是:

>bjam
warn: Unable to construct ./application
...found 1 target...
Run Code Online (Sandbox Code Playgroud)

如果我运行bjam --debug-configuration,qt4.jam会打印出我的Qt安装的所有正确路径.

这是怎么回事?也许它与Qt 4.8不兼容?或者我只是错误地使用它?虽然代码几乎逐字地取自examples/qt下的文件.

我怎么用呢?谢谢你的帮助.

编辑:使用gcc 4.7和http://nuwen.net/mingw.html中的MinGW发行版9.0 ,以及Boost 1.49.0附带的Boost.Build.

Mar*_*tin 0

不是您问题的确切答案,而是建议:使用 qmake 怎么样?它也适用于普通的 C++ 构建。如果您经常使用 Qt,qmake 会非常方便,尽管文档还可以改进。

http://labs.qt.nokia.com/2008/04/16/the-power-of-qmake/

http://doc.qt.nokia.com/4.4/qmake-manual.html

http://www.qtcentre.org/wiki/index.php?title=Undocumented_qmake

http://paulf.free.fr/undocumented_qmake.html

http://www.kde.gr.jp/~ichi/qt/qmake-manual-6.html

供进一步参考