2013-08-09 6 views
20

私はIBM XLコンパイラーを使用してのBlue Gene Q上のソフトウェアをコンパイルしようとしていると私は、このエラーメッセージました:私はzlibの新しいバージョンをインストールしてLD_LIBRARY_PATHを更新したコンパイル・エラー - 行方不明zlib.hの

"iostreams/zlib.cpp", line 19.10: 1540-0836 (S) The #include file "zlib.h" is not found. 
make[3]: *** [zlib.o] Error 1 

$HOME/zlib/include

何か不足していますか?

答えて

7

には、のzlibヘッダーファイルを置く場所が含まれています。 LD_LIBRARY_PATH環境変数を設定するのは、共有オブジェクト(DLL、すなわち.soで終わるファイル)の動的リンク用です。

ほとんどのコンパイラには、インクルードパスを検索に追加するオプション-Iがあります。また、-Lを使用して、リンクするライブラリをどこに見つけるかをコンパイラに伝え、-lを使用してzlibとリンクするようにコンパイラに指示します。

など。

sudo apt-get install libz-dev 

のFedoraの場合:

$ c++ -I$HOME/zlib/include some_file.cpp -L$HOME/zlib/lib -lz 
+2

間違っています。カーノブの答えは正しい。 – SmallChess

+1

@SmallChess OPに「***新しいバージョンのzlibがインストールされています...」と言って、私の答えを受け入れたとマークしていることを考えれば、おそらく理由を詳しく説明できますか?答えがより多く投票しても、それが自動的に正しいとは限りません。 –

+1

私はほとんどの人がkernobの答えに投票して、質問を完全に読まなかったと感じます。 – searchengine27

64

あなたはzlib.hヘッダファイルが欠落している、Linux上を経由して、それをインストールしsudo dnf install libz-devel

これは、deflate圧縮方法を実現するライブラリの開発のサポートファイルを提供しますgzipとPKZIPにあります。

すでにzlibライブラリを使用している場合は、コードソースを-lzでコンパイルしていることを確認してください。参照:How to fix undefined references to inflate/deflate functions?

+2

私はfedora 25でも同じ問題がありました。解決策は 'sudo dnf install libz-devel'です –

関連する問題