Mingw中头文件"Windows.h"的问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mingw中头文件"Windows.h"的问题相关的知识,希望对你有一定的参考价值。

我在Qt里编程时,包含了"Windows.h"的头文件,结果编译出错,错误信息是找不到"sal.h"文件。
我在网上看到大家说"sal.h"是VC++开发环境的头文件。请问大家有没有遇到过这个问题?要怎样解决呢?谢谢!

参考技术A /* 7.8 Format conversion of integer types

无法打开源文件“windows.h”“WTypes.h”

【中文标题】无法打开源文件“windows.h”“WTypes.h”【英文标题】:cannot open source file "windows.h" "WTypes.h" 【发布时间】:2016-09-20 02:13:37 【问题描述】:

您好,感谢您的帮助。 我最近下载了一些 C++ 源文件。他们构建了一个用于管理相机的 DLL。 无论如何,当使用 Visual Studio 2015 打开时,它会通知我会有一些转换,因为编译器已经改变。 之后在

下面有红线
#include <windows.h>
#include <WType.h>

将鼠标移到上面显示“无法打开源文件...”

现在,我用谷歌搜索了这个错误并找到了一些资源,即使在同一个站点中也是如此。 但是他们的解决方案不起作用。有时 OP 只是说“哦,它成功了,谢谢!”但没有说明是什么使它起作用。

所以我在这里寻求帮助。这是什么错误,我该如何解决? (我猜是涉及到项目中的一些设置)

再次感谢大家的帮助

(p.S. 我有作者提供的 dll,但想自己构建项目)

编辑: 构建时输出消息是

    1>------ Build started: Project: DirectShowFacade, Configuration: Debug Win32 ------
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V140\Platforms\Win32\PlatformToolsets\v140_xp\Toolset.targets(36,5): warning MSB8003: Could not find WindowsSdkDir_71A variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>C:\Program Files\MSBuild\Microsoft.Cpp\v4.0\V140\Microsoft.CppBuild.targets(366,5): warning MSB8003: Could not find WindowsSDKDir variable from the registry.  TargetFrameworkVersion or PlatformToolset may be set to an invalid version number.
1>  DirectShowFacade.cpp
1>d:\xxxxxxxxxxxxxxxx\cameraprogramming\directshowfacadesources\directshowfacade.h(28): fatal error C1083: Cannot open include file: 'windows.h': No such file or directory

【问题讨论】:

“配置属性 -> 常规 -> 平台工具集”的确切值是多少?尝试将其更改为“Visual Studio 2015 - Windows XP” 感谢您的回复。已经做了。错误仍然存​​在。 您的 Visual Studio 可以编译一个包含这些的简单 cpp 文件吗?如果不是,那么可能没有正确配置某些东西(或者您可能需要安装 SDK,但 windows.h 应该附带我想象的编译器......我想知道当您导入项目时它是否带有一些错误的路径或其他)另见***.com/questions/12748896/cannot-open-windows-h?rq=1 当我创建一个简单的 winform 应用程序并导入它们时,完全没有问题。 代码原始平台集是v120_xp。它已转换为 v140_xp 【参考方案1】:

属性 → 常规 → 目标平台版本 → 更改为 8.1

【讨论】:

以上是关于Mingw中头文件"Windows.h"的问题的主要内容,如果未能解决你的问题,请参考以下文章

MinGW Windows.h 无法编译

能给我介绍一下C++中各种头文件的作用吗(比如说WINDOWS.H,IOSTREAM.H)?

在VC中头文件的问题

C语言中头文件#include "dos.h"中包涵哪些库函数?

c语言中头文件的作用?

Qt中mysql编译出错问题