2

QtCreatorに2つのプロジェクトがあり、どちらも別のディレクトリに2つの.priファイルが含まれています。

[common]
    * common.pri
    * database.pri
    * ...
[projects]
    [project1]
        * project1.pro
        * ...
    [project2]
        * project2.pro
        * ...

1つの.proファイルに集中しましょう。これには2つのインクルードが含まれています。

COMMONPATH = ../../common

# INCLUDE COMMON FILES
!include($${COMMONPATH}/common.pri) {
    error(Failed to include common/common.pri)
}

# INCLUDE DATABASE FILES
!include($${COMMONPATH}/database.pri) {
    error(Failed to include common/database.pri)
}

.proファイルを保存した後、QtCreatorはプロジェクトマネージャーの2つの.priファイルに気づきませんでした。

しばらくすると(そして私がそうしたことを思い出せません) 、QtCreatorはスクリーンショットに示されているように2つの.priファイルの1つを表示しました:

プロジェクトマネージャ

QtCreatorが最初のファイルと同じように2番目の.priファイルを表示しない理由も、しばらくして初めて最初のファイルを表示する理由もわからないため、今は行き詰まっています...

$$ {COMMONPATH}変数をその値に置き換え、エラー処理を削除し、QtCreatorを複数回再起動し、メニューからqmakeを複数回実行しようとしました...

4

2 に答える 2

1

わかりました、これは奇妙です。プロジェクトマネージャーが2番目に含まれている.priファイルを表示しない理由を理解しました。

ファイルにはerror(...)ステートメントが含まれています。ステートメント自体には'文字が含まれています。この文字は、によって正しく解釈されqmakeますが、プロジェクトマネージャーによって誤って解釈されます。後者は明らかに'文字列エンクロージャトークンまたは同様のものとして解釈されます。

common / database.priから:

!include(<anotherPriFile>) {
    error(Can't find file for inclusion!)
}

正しいバージョン(削除済み'):

!include(<anotherPriFile>) {
    error(Cannot find file for inclusion!)
}

私はこのQtCreatorバージョンを使用しています:

Qt Creator 2.1.0 based on Qt 4.7.2
于 2012-04-16T10:45:28.560 に答える
0

Qt Creatorは、拡張子が付いた別のプロジェクト構成ファイルを使用し、.pro.userそれを別の場所に移動してから、プロジェクトを再度開いてみます。

于 2012-04-15T21:14:46.477 に答える