QT 5.14使用vs2017编译时提示无法找到stddef.h头文件解决方案

这个问题的本质是编译时没有包含到sdk的头文件和lib目录。有时候装了sdk还是不好使。

大部分人都是在 qtcreator左边螺丝刀里面->Build & Run -> Build environment里面改,然而这只是一时之爽,下个工程你又要搞一遍,烦不烦?

qtcreator每次会把工具链写到文件 c:\Users\xxx\AppData\Roaming\QtProject\qtcreator\toolchain.xml中,打开就可以发现确实没有包含我们sdk的头文件和lib。

通过对比,可以发现creator应该是每次启动时自动检测工具链然后构建内部的环境变量,所以实际的解决方法就是环境变量问题。


这是方法之一,不过只能搞一种构建环境,例如x86,x64和mingw可能又要重新改,不过我们做项目一般都是固定一个环境,其他不管了。

右键我的电脑-》高级设置-》环境变量,添加如下2个环境变量:

INCLUDE=

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\ucrt;

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\um;

C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\winrt


LIB=

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\ucrt\x86;

C:\Program Files (x86)\Windows Kits\10\Lib\10.0.17763.0\um\x86


数值就是sdk那些include、lib目录,然后,再把一些exe添加到Path目录:

PATH +=

C:\Program Files (x86)\Windows Kits\10\bin\10.0.17763.0\x86


这样再次打开creator就可以尽情的high了。


========================== 2021 02 03 更新========================

上面方法比较土了,无法动态切换架构,在CSDN上有的人转帖还不留原地址,鄙视他们。

现在有更牛逼的方法,那就是,启动qc之前,手动初始化x86或者x64环境变量,这样就不用折腾系统的环境变量了。

初始化的方法请参考:http://labisart.com/blog/index.php/Home/Index/article/aid/197

然后自己写一个bat启动qc就好了。

本文为3YL原创,转载无需联系,但请注明来自labisart.com。

原创文章不易,如果觉得有帮助,可打赏或点击右侧广告支持:

查看打赏记录

发表评论请遵守党国法律!后台审核后方可显示!
  • 最新评论
  • 总共0条评论
  • Blog v1.1© 2021 labisart.com 版权所有 | 联系:labartwork@163.com