8

Qt 4.8 プロジェクトをコンパイルするために Boost.Build .jamroot ファイルをセットアップしようとしていますが、moc:ed にする必要がある .ui ファイルと .cpp ファイルを無視しているようです。qt4.jam の内部を調べてみて、さらに ECHO: を追加しましたが、どこを見ればよいかわかりません。

たとえば、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 の下のファイルから取得されます。

どのように使用できますか?助けてくれてありがとう。

編集: http://nuwen.net/mingw.htmlの MinGW ディストリビューション 9.0 で gcc 4.7 を使用し、Boost 1.49.0 に付属の Boost.Build を使用します。

4

2 に答える 2

1

./src/somethingを置き換えます。cpp./src/something にコピーします。hpp、つまり:

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

bjamqt -examples は誤解しがちです: main.cppモジュールはソースファイルヘッダー ファイルを混同しています。

通常はmocプロセス ヘッダー ファイルを覚えておきましょう( Q_OBJECTのクラス宣言を含むファイル: ほとんどの場合、ソース ファイルにはそれが含まれていません)。

于 2013-04-13T14:09:15.717 に答える
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

さらなる参考のために

于 2012-06-05T09:30:59.317 に答える