QTP0003
在创建 Qt 库时考虑 BUILD_SHARED_LIBS 值。
此策略自 Qt 6.7 以来被引入。该策略影响使用 Qt CMake API(如 qt_add_library,qt_add_plugin,qt_add_qml_module)创建的库的默认类型。
如果策略设置为 OLD
,则选择的默认库类型与 Qt 构建设置对齐,即 shared
或 static
。
如果策略设置为 NEW
,如果设置了 BUILD_SHARED_LIBS 值,则根据该值选择库类型。如果没有设置 BUILD_SHARED_LIBS
,则默认库类型回退到 Qt 构建设置。
例如,以下代码将使用 Qt 构建设置作为 MyLib
目标的默认库类型,尽管 BUILD_SHARED_LIBS
设置为 ON
set(BUILD_SHARED_LIBS ON) ... qt6_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) qt6_add_library(MyLib sourcefile.h sourcefile.cpp)
另请参阅 qt_policy,Qt CMake 策略 和 qt_add_library。
© 2024 Qt 公司有限公司。此处包含的文档贡献归相关所有者所有。提供的文档受 GNU 自由文档许可证版本 1.3 的条款约束,由自由软件基金会发布。Qt 及相关标志是芬兰的 Qt 公司有限公司和其他国家/地区的商标。所有其他商标归其所有者所有。