我无法为使用 Windows Mobile(基于 Windows CE)操作系统的移动设备编译 C++ 项目,Visual Studio 中的 Visual C++ 编译器失败:
Error 1 fatal error C1083: Cannot open include file: 'io.h'
编辑
我正在尝试编译 SQLite 合并,shell.c 文件包含对此 io.h 的调用,但文件中缺少 io.h。
我用谷歌搜索但找不到如何获取此 .h 文件。
有人能指出我正确的方向吗?
最佳答案
io.h
文件在用于基于 Windows CE 的系统(如 Windows Mobile)的 SDK 中不可用。
事实上,io.h
header 从未成为 ISO C 或 C++ 标准的一部分。它定义属于 POSIX compatibility layer 的特征在 Windows NT 上,但不是 Windows CE .
由于 Windows CE 上缺少 POSIX 功能,我开发了一个小型实用程序库 WCELIBCEX . It does include io.h但是一个非常小的版本,对于 SQLite 来说可能是不够的。但是,正如 ctacke 提到的,您应该使用 SQLite port for Windows CE因为原始版本的 SQLite 不能为这个平台编译。
附注请注意,您的问题没有明确指定您正在为 Windows Mobile 构建。如果没有发现标记中提到的 .NET Compact Framework,那么整个问题都是模棱两可的。
关于c++ - 无法编译项目,缺少 io.h 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2211030/