CMP0020

自动将 Qt 可执行文件链接到 Windows 上的“qtmain”目标。

CMake 2.8.10 及更低版本要求 Qt 用户始终在 Windows 上手动指定对 qtmain.lib 静态库的链接依赖性。 CMake 2.8.11 获得了评估生成器表达式的能力,同时确定来自“IMPORTED”目标的链接依赖性。这允许 CMake 在使用 IMPORTED Qt 目标时自动将链接到 Qt 的可执行文件链接到 qtmain.lib 库。对于已经链接到 qtmain.lib 的应用程序,这应该影响不大。对于提供自己的替代 WinMain 实现的应用程序和使用 QAxServer 库的应用程序,需要根据文档禁用此自动链接。

此策略的“旧”行为是当可执行文件链接到 QtCore 的“IMPORTED”目标时,不会自动将它们链接到“qtmain.lib”。此策略的“新”行为是在可执行文件链接到 QtCore IMPORTED 目标时自动将它们链接到 qtmain.lib

此策略是在 CMake 版本 2.8.11 中引入的。 CMake 版本 |发布|当未设置策略并使用“旧”行为时发出警告。使用 cmake_policy() 命令将其显式设置为 OLDNEW

备注

策略的“旧”行为是 :manual:根据定义 <cmake-policies(7)> 已弃用,并且可能会在未来版本的 CMake 中删除。