Boost.Build/bjam和Qt

时间:2012-04-30 12:20:54

标签: c++ qt bjam boost.build

我正在尝试设置一个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 ] 
    ;

我得到的唯一输出是:

>bjam
warn: Unable to construct ./application
...found 1 target...

如果我运行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。

2 个答案:

答案 0 :(得分:1)

./ src / something。 cpp 替换为 ./ src / something。 hpp ,即:

[ cast _ moccable-cpp : ./src/something.hpp ]

bjam qt -examples往往会产生误解: main.cpp 模块混淆了来源标题文件。

让我们记住 moc 处理头文件(带有 Q_OBJECT 的类声明的文件:在大多数情况下源文件不包含它)

答案 1 :(得分: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

进一步参考