这个问题的本质是编译时没有包含到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;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\shared;
C:\Program Files (x86)\Windows Kits\10\Include\10.0.17763.0\cppwinrt;
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就好了。
Raver:没有这个文件夹怎么办C:\Program Files (x86)\Windows Kits\10
2021-09-14 15:30:19 回复