无法打开包含文件:'unistd.h':没有这样的文件或目录

use*_*387 22 c++ unistd.h

安装libpng到我的计算机后,我已经使用#include <png.h>Windows 7 SP1平台和使用Visual Studio Ultimate 2013 将其包含在我的项目中.

但在构建时,我收到此错误:

C1083:无法打开包含文件:'unistd.h':没有这样的文件或目录

我该如何解决这个问题?我还没有在网上找到任何解决方案?

Ton*_*roy 30

unistd中的"uni"代表"UNIX" - 你不会在Windows系统上找到它.

最广泛使用的可移植库应该提供替代构建或检测平台,并且只尝试使用将提供的头/函数,因此值得检查文档以查看是否错过了一些构建步骤 - 例如,可能运行"make"而不是加载".sln"Visual C++解决方案文件.

如果您需要自己修复它,请删除包含并查看实际需要的功能,然后尝试查找等效的Windows.

  • @TonyD 从 Visual Studio 2010 开始,包含“int8_t”和类似类型系列的标头包含在内,当时 MS 最终添加了对“&lt;stdint.h&gt;”的支持 (3认同)

Gro*_*ing 24

如果您在项目中使用ZLib,那么您需要找到:

#if 1
Run Code Online (Sandbox Code Playgroud)

在zconf.h中并用以下命令替换(取消注释):

#if HAVE_UNISTD_H /* ...the rest of the line
Run Code Online (Sandbox Code Playgroud)

如果它不是ZLib我想你应该找到一些替代方法来做到这一点.GL.