2

我在使用 VS2012 和 ICC 13.0 构建的应用程序中链接 zlib 1.2.8。当我编译<windows.h>之前包含 <zlib.h> 的文件时,没有问题。当 <windows.h>之后包含 <zlib.h> 时,我在 <zconf.h> 中遇到错误,第 454 行编译器尝试包含 <unistd.h>。更糟糕的是,我在这个#include 之前放置了一个#pragma message(),并且该消息没有出现在构建输出窗口中!

我尝试了著名的WIN32_LEAN_AND_MEAN,但没有任何改变。

有人知道这个问题的解决方案吗?

谢谢!

4

1 回答 1

2

好的,此错误已关闭。

问题来自另一个第三方库,其中宏HAVE_UNISTD_H被错误定义。这个定义对该库没有影响,但禁止使用 zlib 编译。

我的更正是添加一个

#undef HAVE_UNISTD_H

在 zlib.h 或其他库 .h 文件中。

于 2013-06-27T11:41:35.137 回答