QTP0003
Qt ライブラリを作成する際は、BUILD_SHARED_LIBS の値を考慮してください。
このポリシーは Qt 6.7 で導入されました。このポリシーは、qt_add_library()、qt_add_plugin()、qt_add_qml_module() など、Qt CMake API を使用して作成されるライブラリのデフォルトのタイプに影響を与えます。
このポリシーが `OLD` に設定されている場合、選択されるデフォルトのライブラリタイプは、Qt のビルドタイプ(shared またはstatic )に合わせて設定されます。
ポリシーが `NEW` に設定されている場合、`BUILD_SHARED_LIBS` の値が設定されている場合は、それに応じてライブラリタイプが選択されます。BUILD_SHARED_LIBS が設定されていない場合、デフォルトのライブラリタイプは Qt ビルドタイプにフォールバックします。
たとえば、BUILD_SHARED_LIBS がON に設定されているにもかかわらず、以下のコードでは、MyLib ターゲットのデフォルトのライブラリタイプとしてQtビルドタイプが使用されます:
set(BUILD_SHARED_LIBS ON)
...
qt_add_library(MyLib sourcefile.h sourcefile.cpp)qt_add_library()の呼び出し前に QTP0003 をNEW に設定しておけば、BUILD_SHARED_LIBS の設定がライブラリのデフォルトタイプに影響し、MyLib が共有ライブラリとなります。
set(BUILD_SHARED_LIBS ON)
...
qt_policy(SET QTP0003 NEW)
qt_add_library(MyLib sourcefile.h sourcefile.cpp)qt_policy()、Qt CMake ポリシー、およびqt_add_library()も参照してください 。
© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.