You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

如何一次性指定qmake目标的Windows SDK版本?

如何让qmake生成VS项目时指定目标Windows SDK版本?

我之前在配置Qt和VS环境时也踩过这个坑,每次生成项目后还要手动重定向SDK确实挺麻烦的。其实qmake本身就支持直接指定目标SDK版本,不用每次重复操作,下面给你几个实用的方法:

方法一:在单个项目的.pro文件中配置(推荐)

直接在你的Qt项目的.pro文件里添加一行配置,指定你已经安装的Windows SDK版本:

QMAKE_WINSDK_VERSION = 10.0.17763.0

这里的版本号要换成你电脑上实际安装的SDK版本——你可以通过VS安装器查看已安装的SDK,或者在控制面板的「程序和功能」里找到已安装的Windows SDK条目,复制对应的版本号就行。

方法二:全局配置(所有Qt项目生效)

如果希望所有用qmake生成的VS项目都默认使用同一个SDK版本,可以修改Qt的全局qmake配置:

  1. 找到Qt 5.10.1的安装目录,进入mkspecs\win32-msvc2017文件夹(对应VS2017);
  2. 打开里面的qmake.conf文件,在合适的位置(比如其他QMAKE_变量附近)添加:
    QMAKE_WINSDK_VERSION = 你的SDK版本号
    
  3. 保存文件后,后续所有qmake生成的VS项目都会自动使用这个SDK版本。

方法三:命令行临时指定

如果只是临时给某个项目指定SDK,不想修改.pro文件或全局配置,可以在运行qmake时直接带参数:

qmake "QMAKE_WINSDK_VERSION=10.0.17763.0" your_project.pro

这样生成的VS项目就会直接绑定你指定的SDK版本,打开后就能正常构建,不用再手动重定向了。

小提示:如果不确定SDK版本号的正确格式,可以打开VS新建一个空C++项目,查看项目属性里的「Windows SDK版本」下拉选项,直接复制那里的版本字符串就不会出错啦。

内容的提问来源于stack exchange,提问作者Andy

火山引擎 最新活动