gpt4 book ai didi

c++ - Boost.Build/bjam 和 Qt

转载 作者:可可西里 更新时间:2023-11-01 17:59:43 33 4
gpt4 key购买 nike

我正在尝试设置一个 Boost.Build .jamroot 文件来编译 Qt 4.8 项目,但它似乎忽略了应该被 moc:ed 的 .ui 文件和 .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。

最佳答案

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

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

bjamqt-examples 容易引起误解:main.cpp 模块混淆了源 header 文件。

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

关于c++ - Boost.Build/bjam 和 Qt,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10383613/

33 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com