2

VS2012 と ICC 13.0 で構築されたアプリケーションで zlib 1.2.8 にリンクしています。< windows.h > の前に< zlib.h > が含まれているファイルをコンパイルすると問題ありません。< windows.h > の後に < zlib.h > をインクルードすると、コンパイラが < unistd.h > をインクルードしようとする行 454 の < zconf.h > でエラーが発生しました。さらに悪いことに、この #include の直前に#pragma message()を置いたのに、メッセージがビルド出力ウィンドウに表示されません!

有名なWIN32_LEAN_AND_MEANを試しましたが、何も変わりませんでした。

誰かがこの問題の解決策について考えを持っていますか?

ありがとう!

4

1 に答える 1

2

OK、このバグはクローズされました。

この問題は、マクロHAVE_UNISTD_Hが誤って定義された別のサードパーティ ライブラリから発生しました。この定義はそのライブラリには影響しませんでしたが、zlib でのコンパイルは禁止されています。

私の修正は、追加することでした

#undef HAVE_UNISTD_H

zlib.h または他のライブラリ .h ファイル内。

于 2013-06-27T11:41:35.137 に答える