我在使用VS2012和ICC 13.0构建的应用程序中链接zlib 1.2.8。当我编译一个文件< zlib.h>包括之前< windows.h&gt ;,没有问题。当< zlib.h>包含 后 windows.h>,我在<中遇到错误zconf.h>,第454行,编译器尝试包含< unistd.h>。最糟糕的是,我在#include之前放了一个 #pragma message(),并且消息没有出现在构建输出窗口中!
我尝试了着名的 WIN32_LEAN_AND_MEAN ,但它没有改变任何内容。
有人对此问题的解决方案有所了解吗?
谢谢!
答案 0 :(得分:1)
好的,这个bug已经关闭。
问题来自另一个第三方库,其中错误地定义了宏 HAVE_UNISTD_H 。这个定义对该库没有影响,但禁止使用zlib进行编译。
我的更正是添加
#undef HAVE_UNISTD_H
在zlib.h或其他库.h文件中。