Boost.Build/bjam and Qt
Boost.Build/bjam and Qt
>我正在尝试设置一个 Boost.Build .jamroot 文件来编译 Qt 4.8 项目,但它似乎忽略了 .ui 文件和应该为 moc:ed 的.cpp文件。我尝试在qt4.jam中四处寻找,添加更多ECHO:s,但我不知道该在哪里查找。
例如,似乎没有调用uic生成器的运行方法(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不兼容?还是我只是用错了?尽管代码几乎是从 example/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 ]
Bjam 的 Qt 示例容易产生误解:主模块.cpp模块混淆了源文件和头文件。
让我们记住通常moc进程头文件(带有Q_OBJECT类声明的文件:在大多数情况下,源文件不包含它)
不是您问题的确切答案,而是一个建议:使用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
供进一步参考
- Qt with Dlib and CUDA
- Qt, cmake and qhelpgenerator
- Qt 5.8 and Pdf.js error
- LNK2019 With Qt and Gmock
- Qt Application with QTabWidget, QGraphicsScene and QPushButt
- Qt/QML: WebEngineView and ScrollView
- Qt and Q_OBJECT
- Qt - QPixmap to XML and conversely
- Qt::CustomizeWindowHint and Qt::Tool analogs for gtkmm
- QT 5.9 and Opencv Error
- AES 256 encryption in C++ and Qt 5
- C2470 error Visual Studio 2012 and Qt 4.8.6
- OMNET++ 5.0 and Qt
- libgit2 and Qt error
- Boost.Build/bjam and Qt
- Visual C++ 2010 and Qt (moc etc)
- Connecting QML and Qt
- QSizeGrip and Qt::Popup
- Using SFML and Qt
- C++ and Qt or Java?