qt_add_resources

バイナリリソースをソースコードにコンパイルします。

このコマンドはQt6 パッケージのCore コンポーネントで定義されています:

find_package(Qt6 REQUIRED COMPONENTS Core)

概要

qt_add_resources(<VAR> file1.qrc [file2.qrc ...]
                  [OPTIONS ...])

バージョンレスコマンドが無効になっている場合は、代わりにqt6_add_resources() を使用してください。このコマンドと同じ引数セットをサポートしています。

6.0以降:

qt_add_resources(<TARGET> <RESOURCE_NAME>
                  [PREFIX <PATH>]
                  [LANG <LANGUAGE>]
                  [BASE <PATH>]
                  [BIG_RESOURCES]
                  [OUTPUT_TARGETS <VARIABLE_NAME>]
                  [FILES ...] [OPTIONS ...])

バージョンレスコマンドが無効な場合は、代わりにqt6_add_resources() 。このコマンドと同じ引数セットをサポートしています。

説明

リソースを追加するには、コマンドの第1引数に変数名かターゲットを渡します。

第1引数に変数名を渡すと、qt_add_resourcesリソースコンパイラ(rcc)を使用してQtリソースファイルからソースコードを生成します。生成されたソース・ファイルへのパスは<VAR> に追加されます。

第一引数にターゲットを渡すと、指定されたFILES を含むRESOURCE_NAME という名前のリソースを作成します。このリソースは自動的にTARGET にリンクされます。

Qt リソースの一般的な説明はQt Resource Systemを参照してください。

ターゲットベースの引数

PREFIX は、このリソースのすべてのファイルが C++ コードからアクセスできるパス接頭辞を指定します。これは、 ファイルフォーマットの XML 属性 に対応します。 が与えられない場合、ターゲット・プロパティ.qrc prefix PREFIX QT_RESOURCE_PREFIXが使用されます。6.5 以降、 はオプションです。これが省略され、 で指定されなかった場合、 がデフォルトのパスプレフィックスとして使用されます。PREFIX QT_RESOURCE_PREFIX "/"

LANG はこのリソースのロケールを指定します。これは ファイル形式の XML 属性 に対応する。.qrc lang

BASE は、ファイルのエイリアスのルートポイントを示すパス接頭辞です。例えば、 が で、 が の場合、そのファイルのエイリアスは となります。BASE "assets" FILES "assets/images/logo.png" "images/logo.png"

ファイルのエイリアス設定は、QT_RESOURCE_ALIAS ソース・ファイル・プロパティで設定する必要があります。

BIG_RESOURCES を指定することで、大きなリソースのサポートを有効にすることができます。これは、C++ ソース・コードの代わりにオブジェクト・ファイル ( , ) を直接生成します。これにより、生成されたC++ソースをコンパイルすることなく、より大きなリソースを埋め込むことができます。.o .obj

BIG_RESOURCES は、CMake の Xcode プロジェクトジェネレータの制限により、iOS と互換性がないことに注意してください。詳細はQTBUG-103497を参照してください。また、BIG_RESOURCES は CMake 3.17 以降でのみ確実に動作します。

静的ライブラリでこのコマンドを使用すると、1つ以上の特別なターゲットが生成されます。これらのターゲットに対して追加処理を行いたい場合は、OUTPUT_TARGETS パラメーターに変数名を渡してください。qt_add_resources 関数は、特殊ターゲットの名前を指定された変数に格納します。

両方の引数

rcc 呼び出しに追加するOPTIONS を設定することができる。可能なオプションはrccのドキュメントにあります。

.qrcファイルを使う変数型:

set(SOURCES main.cpp)
qt_add_resources(SOURCES example.qrc)
qt_add_executable(myapp ${SOURCES})

ターゲットバリアント、即時リソースを使う:

qt_add_executable(myapp main.cpp)
qt_add_resources(myapp "images"
    PREFIX "/images"
    FILES image1.png image2.png)

注意点

複数のリソースを追加する場合、RESOURCE_NAME は最終ターゲットにリンクされるすべてのリソースで一意でなければなりません。

これは特に静的ビルドに影響します。異なるスタティックライブラリの同じリソース名が消費ターゲットで衝突します。

qt_add_big_resources()も参照してください

©2024 The Qt Company Ltd. 本書に含まれるドキュメントの著作権は、それぞれの所有者に帰属します。 本書で提供されるドキュメントは、Free Software Foundation が発行したGNU Free Documentation License version 1.3に基づいてライセンスされています。 Qtおよびそれぞれのロゴは、フィンランドおよびその他の国におけるThe Qt Company Ltd.の 商標です。その他すべての商標は、それぞれの所有者に帰属します。