web-dev-qa-db-ja.com

Qt:* .pro対* .pri

違いは何ですか *.proおよび*.pri qmakeの構成ファイル?

* .proファイルに入れるべきものと* .priファイルに入れるべきもの

76
Beginner

.proファイルはQMakeを実行するものです。 .priファイルは.proファイル。それ以外は、2つの間に大きな違いはありません。

使用例は、異なるオプションを必要とする異なるビルドがある場合です。さまざまな.priファイルのオプションを延期しながら、共有情報を.proに入れることができます。もう少し情報はありますが、確かにそれほど多くはありませんが、 ここで見つけることができます

42
Bart

ターゲットを絞った再利用には、主な違いが1つあります。

。プロ

通常、これはProject Fileと呼ばれます。

.pri

これは通常ProjectIncludeFileと呼ばれます。

名前からわかるように、主な違いは、.priファイルがインクルードファイルであることです。これは、基本的に、機能を共有するためにプログラミング言語にモジュールを含めることに似ています。

これらの.priファイルに共通の設定とコードを記述し、必要に応じていくつかの.proファイルからそれらを含めることができます。これは、実際に使用する方法です。

foo.pri

FOO = BAR

hello.pro

...
include($$PWD/foo.pri)
...

world.pro

...
include($$PWD/foo.pri)
...

これにより、hello.proworld.proの両方で共通性を利用できます。このシナリオではそれほど大きな違いはありませんが、共有機能が長くなると、書き込みや同期、バグ修正などを節約できます。

.priファイルを別の.priファイルの中に含めることもできます。 .priファイルをさまざまなサブプロジェクトなどに含めることもできます。これは非常に便利です。

ただし、.proファイルと.priファイルの両方の構文は同じです。最後に、.proファイルに対してqmakeを実行します。これは、プロジェクトファイルが存在せず、qmake -projectを使用する場合にqmakeが生成するものでもあります。

インクルード関数の詳細については、こちらをご覧ください in here

include(ファイル名)

Filenameで指定されたファイルの内容を、現在のプロジェクトの含まれるポイントに含めます。 filenameが含まれている場合、この関数は成功します。それ以外の場合は失敗します。組み込まれたファイルはすぐに処理されます。

この関数をスコープの条件として使用することにより、ファイルが含まれているかどうかを確認できます。

完了するには、.prfProjectFeatureFilesおよび.prlProjectLinkerFiles、しかしエンドユーザーとして、あなたはそれに対処する必要はない今のところ。

62
lpapp

.priファイルの形式は、.proファイルの形式とまったく同じです。主な違いは意図の1つです。 .proはほとんどの人がqmakeを直接実行することを期待するものですが、.priは.proによって組み込まれます。 qmakeに別のファイルを含めるように指示すると、そのファイル内のコマンドが現在のファイルにあるかのように処理されます。

参考: *。pro vs * .pri

16
AlphaMale