13,009
回編集
編集の要約なし タグ: 差し戻し済み |
タグ: 差し戻し済み |
||
| 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> | ||