質問

だから私はq_OBJECTタグ付けされたクラスを持っています。使用可能であるmoc。

私の中で。qbsファイル、私は持っています CppApplication アイテム;qbsが呼び出さないため、これは間違ったタイプのプロジェクトのようです moc ClassName.cpp 私のためにmocを生成する。代わりに何を使用/微調整する必要がありますか?

-

だから私はQtについて知っていました。コアの依存関係ですが、Qtの不自由なインストールでは機能していませんでした;私はそれを修正しようとしていたが、これらの事実が出てきた:

  • Qt toolchainを検出する必要がありました(qbs-setup-qt)と呼びます。 qbs-config-ui
  • Qbsは実際にビルドルールをコアに格納します。Qbs、Qt/core依存関係を介してリンクされています。
    • ビルドルールを自分のものにコピー/貼り付けることは可能です。qbsファイルと外部依存関係の回避;私はこれを本当に不自由なビルドシステムにコードを展開するための汚いハックと考えています(今、私はGentooでQtサポートの言葉を持っています)。
役に立ちましたか?

解決

Qtモジュールへのアプリケーションの依存関係が欠落している可能性があると思います。Mocファイルの生成のためのルールはQtの一部です。コアモジュール。この依存関係を次のように追加することができます:

CppApplication {
    name: "MyApp"
    files: "path_to_source/**"

    Depends { name: "Qt.core" } // Optional
    Depends { name: "Qt.widgets" }
}

他のすべてのQtモジュールはQtに暗黙的に依存しています。コア明示的な依存関係はQtに可能性があります。別のQtモジュール(Qt)に依存している場合、コアはスキップされる可能性があります。この例のウィジェット)。

より多くの細部はで見つけることができます http://doc.qt.io/qbs/qt-modules.html

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top