4

私はカスタムライブラリに取り組んでおり、ユーザーが追加するだけでそれを使用できることを願っています:

CONFIG += mylib

彼らのプロフィールファイルに。これは、mylib.prf ファイルを %QTDIR%/mkspec/features にインストールすることで実行できます。そのようなファイルを作成してインストールする方法をQt Mobilityプロジェクトでチェックアウトしましたが、別の方法でやりたいことが1つあります。

Qt Mobility の pro/pri ファイルを正しく理解していれば、サンプル プロジェクト内では CONFIG += モビリティを実際には使用せず、代わりに QtMobility ソースを追加してパスをインクルードし、*.obj ディレクトリをメイン ライブラリ プロジェクトと共有します。私のライブラリでは、できるだけ独立したプロジェクト、つまり、MyLib をコンパイルしてインストールすると、どこからでもコンパイルできるプロジェクトのサンプルを作成したいと考えています。

次のディレクトリ構造があります。

mylib
  |
  |- examples
  |- src
  |- tests
  \- mylib.pro

上で説明したことを達成する最も簡単な方法は、次のように mylib.pro を作成することです。

TEMPLATE = subdirs
SUBDIRS += src
SUBDIRS += examples
tests:SUBDIRS += tests

そして、何らかの方法で、src のビルド後に「cd src && make install」の呼び出しを強制します。これを行う最善の方法は何ですか?

もちろん、例をコンパイルする前の自動ライブラリ展開に関するその他の提案は大歓迎です。

4

1 に答える 1

1

別のターゲットを作成し、それを SUBDIRS 変数に追加することもできます。これは、プレーンな .pro ファイルもターゲットになる可能性があることを認識している場合にうまく機能します。私はこのようなものを提案します

TEMPLATE = subdirs
CONFIG += ordered

SUBDIRS += src
tests:SUBDIRS += tests
SUBDIRS += src/install.pro
SUBDIRS += examples

この場合、config 変数を追加することで、subdir ターゲットが順番に実行されるようにしました。インストールの前にテストのコンパイルを移動しました。これは理にかなっています。先に進んでインストールする前に、コードが機能していることをテストする必要があります。重要な追加は、ソース ディレクトリ内の install.pro ファイルへの直接リンクです。(src をきれいに保ちたい場合は、これをローカル ディレクトリに配置することもできます。) その中には、インストールするコンポーネントをインストールするためのコマンドが必要です。

このような状況では、次のように、複数の .pro ファイルに含めることができるファイルにソースとヘッダーのリストを分けておくと役立つことがよくあります。

src/sources.pri:

HEADERS += foo.h
SOURCES += foo.c

src/src.pro

include(sources.pri)
#...

src/install.pro

include(sources.pri)
#...
于 2010-05-14T15:17:25.303 に答える