在 Windows 上为 Android 构建时找不到 windows.h 文件

Posted

技术标签:

【中文标题】在 Windows 上为 Android 构建时找不到 windows.h 文件【英文标题】:windows.h file not found when building for Android on windows 【发布时间】:2020-09-24 13:10:36 【问题描述】:

当我尝试使用 Qt 5.14.2 static android kit 构建我的应用程序时遇到问题。我在搜索时看到了类似的错误,但没有找到解决方案。 我不知道为什么,但我在 OpenSSL 目录 内的 rand.h 文件中收到此错误:

fatal error: 'windows.h' file not found
#  include <windows.h> 

我使用的是 Windows 10

Qt 5.14.2 静态

NDK 版本:21.1.6352462

有什么建议或提示吗?提前致谢。

更新:与正常(非静态)Qt 5.15.0

相同的错误

【问题讨论】:

【参考方案1】:

是的,#include &lt;&gt; 表示在您的文件系统中搜索 h 文件。这条线可能包含#if Q_OS_... 或其他类似的内容。检查选项 --target= 的编译输出 再多一点:您在(我猜)Windows 上为 android 构建应用程序。 Qt 需要了解 app-OS 与现在不一样。关键字是交叉编译

【讨论】:

这是评论,不是答案。 @IInspectable,我可以为 TS 添加“仔细检查 Qt 创建者设置”,但它仍然无法回答。我猜他不明白什么是问题。我解释一下。换句话说,下一个问题是为什么 Qt 尝试为 android 应用程序包含 windows.h? @user123445151156,我看到你本地化了#include 错误。下一步 - 检查框架中的 #If #endif 是否有错误 - 它如何决定使用操作系统?如果 OpenSSL 从源代码构建,您应该为目标平台构建并链接它,在您的情况下为 Android。

以上是关于在 Windows 上为 Android 构建时找不到 windows.h 文件的主要内容,如果未能解决你的问题,请参考以下文章

Ionic - 在 Windows 上为 IOS 构建(适用于最新的 IOS 和 Ionic)

在 Azure Devops 上运行构建时找不到资产文件 project.assets.json

使用 CakeBuild 构建 Xamarin.Android 项目时找不到 mscorlib

在android studio中构建apk时找不到Aapt_rules.txt

在 Windows 上为 Python 2.7 构建 lxml

Electron - 在 Mac 上为 Windows x64 构建安装程序