web-dev-qa-db-ja.com

QMake INSTALLS変数の入力を指定するにはどうすればよいですか?

Qtプロジェクトでは、ビルドプロセスの一部としてライブラリをコピーしようとしています。目標は、ビルド後に必要なすべてのダイナミックライブラリを使用して既製のディストリビューションを作成することです。

これはINSTALLS変数で達成できるようですが、ドキュメントが少し薄いと思います: qmake変数リファレンス:INSTALLS

与えられた例では:

  • targetはすでに定義されていますか、それともtarget.path =を記述して定義されていますか?
  • メンバー候補のドキュメントはどこにありますか? .pathと...?
22
Eirik M

ええ、ドキュメントはここで望まれることがたくさんあります。

targetはすでに定義されていますが、それは特別な場合です。独自の追加のデプロイメントセットを定義できます。画像形式のプラグインを指定する方法は次のとおりです。

imageformats.path = /opt/some/path/bin/imageformats
imageformats.files += $$[QT_INSTALL_DATA]/plugins/imageformats/*.so
INSTALLS += imageformats

3つのコマンドに関する最小限のドキュメントは次のとおりです。 http://doc.qt.io/qt-4.8/qmake-environment-reference.html#installs

yourset.path = /path/in/which/to/install/files
yourset.files = /files/to/install
yourset.extra = custom commands to run, eg. `touch somefile.txt`
INSTALLS += yourset
23
Dave Mateer

targetは、使用する文字列です。それはあなた自身の識別子です。

target.filesは、インストールするものを定義します。

target.pathは、target.filesを配置する場所(ディレクトリ)です。

たとえば、ディレクトリ「xyzzy」にコピーしたい「config.xml」というファイルがあるとします。 qmake.proファイルで以下を使用して指定します。

my_file.files = config.xml
my_file.path = xyzzy

INSTALLS += my_file

ところで、実際にファイルのコピーを作成するには、make installを実行する必要があります。

答えが理解に役立つこともあります: ファイルをビルドディレクトリにコピーする

10
jwernerny