「CMake - Qtコマンド」の版間の差分

ナビゲーションに移動 検索に移動
編集の要約なし
タグ: 差し戻し済み
タグ: 差し戻し済み
196行目: 196行目:


== バージョンレスターゲット ==
== バージョンレスターゲット ==
既存のインポートターゲットに加えて、Qt 5.15以降ではバージョンレスターゲットが使用できる。<br>
例えば、Qt Coreライブラリとリンクする場合、Qt6::CoreとQt::Coreの両方を参照することができる。<br>
<br>
バージョンレスターゲットはデフォルトで定義されている。<br>
バージョンレスターゲットを無効にする場合は、最初の<code>find_package</code>コマンドの実行前に、<code>QT_NO_CREATE_VERSIONLESS_TARGETS</code>を設定する必要がある。<br>
<br>
* <code>QT_NO_CREATE_VERSIONLESS_TARGETS</code>
* <code>QT_NO_CREATE_VERSIONLESS_TARGETS</code>
*: Qt::で始まるインポートされたターゲットを隠す。
*: Qt::で始まるインポートされたターゲットを隠す。
*: 代わりに、Qt6::で始まるターゲットを使用する必要がある。
*: 代わりに、Qt6::で始まるターゲットを使用する必要がある。
<br>
以下の例では、まず、Qt6ライブラリを探索する。<br>
探索に失敗した場合は、Qt 5.15ライブラリを探索する。<br>
これにより、Qt 5 / 6に関係なく、インポートされたQt::Coreターゲットを使用することができる。<br>
<syntaxhighlight lang="cmake">
find_package(Qt6 COMPONENTS Core)
if (NOT Qt6_FOUND)
    find_package(Qt5 5.15 REQUIRED COMPONENTS Core)
endif()
add_executable(myApp
    # ...略
)
target_link_libraries(myApp PRIVATE Qt::Core)
</syntaxhighlight>
<br><br>
<br><br>


案内メニュー