首页 > 解决方案 > 在cmake中检测静态Qt

问题描述

如何检测使用的 Qt 版本是否静态构建在 cmake 项目中?

我的目标是使我的项目文件独立于用于构建它的 Qt 版本,并且在一些地方我需要区分动态和静态构建。

标签: qtcmakestatic-linking

解决方案


它与 cmake 中的所有其他库一样工作,请参见此处

find_package(Qt5 COMPONENTS Core REQUIRED)
get_target_property(MY_QT_TARGET_TYPE Qt5::Core TYPE)
if(MY_QT_TARGET_TYPE STREQUAL STATIC_LIBRARY)
    message("Qt was built as a static library!")
endif()

推荐阅读