我正在尝试使用IBM XL编译器在Blue Gene Q上编译软件,但出现了以下错误信息:
"iostreams/zlib.cpp", line 19.10: 1540-0836 (S) The #include file "zlib.h" is not found.
make[3]: *** [zlib.o] Error 1
我安装了一个新版本的zlib并更新了LD_LIBRARY_PATH
为$HOME/zlib/include
,我是否漏掉了什么?我正在尝试使用IBM XL编译器在Blue Gene Q上编译软件,但出现了以下错误信息:
"iostreams/zlib.cpp", line 19.10: 1540-0836 (S) The #include file "zlib.h" is not found.
make[3]: *** [zlib.o] Error 1
我安装了一个新版本的zlib并更新了LD_LIBRARY_PATH
为$HOME/zlib/include
,我是否漏掉了什么?你缺少 zlib.h
头文件,在 Linux 上可以通过以下方式安装:
sudo apt-get install libz-dev
事实上,模块在apt仓库中显示为zlib1g-dev
,所以这是最新的调用(2019年2月):
sudo apt install zlib1g-dev
在Fedora中:sudo dnf install zlib-devel
(在旧版本中:sudo dnf install libz-devel
)可以提供一个库的开发支持文件,该库实现了在gzip和PKZIP中找到的缩放压缩方法。
如果您已经安装了zlib< / code>库,请确保使用
-lz 编译您的代码源。请参阅:如何修复对inflate / deflate函数的未定义引用?。
您已经将库安装在非标准位置($HOME/zlib/
)。这意味着编译器不知道您的头文件在哪里,因此您需要告诉编译器。
您可以使用 -I
(大写字母 i)选项将路径添加到编译器用于搜索头文件的列表中。
还要注意,LD_LIBRARY_PATH
是用于运行时链接器和加载器的,在尝试运行应用程序时搜索动态库。要为构建时的链接器添加路径,请使用 -L
选项。
整个命令行应该如下所示:
$ c++ -I$HOME/zlib/include some_file.cpp -L$HOME/zlib/lib -lz
patterns-hpc-development_node
软件包解决了我的问题。我也遇到了同样的问题。然后我安装了zlib,但问题仍然存在。然后我在我的.bashrc文件中添加了以下几行代码,问题就解决了。你应该将路径替换为你的zlib安装路径。(我没有root权限)。
export PATH =$PATH:$HOME/Softwares/library/Zlib/zlib-1.2.11/
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$HOME/Softwares/library/Zlib/zlib-1.2.11/lib/
export LIBRARY_PATH=$LIBRARY_PATH:$HOME/Softwares/library/Zlib/zlib-1.2.11/lib/
export C_INCLUDE_PATH=$HOME/Softwares/library/Zlib/zlib-1.2.11/include/
export CPLUS_INCLUDE_PATH=$HOME/Softwares/library/Zlib/zlib-1.2.11/include/
export PKG_CONFIG_PATH=$HOME/Softwares/library/Zlib/zlib-1.2.11/lib/pkgconfig
sudo dnf install libz-devel
。 - Krzysztof Czeronkosudo dnf install zlib-devel
命令安装 zlib-devel。 - Alex Gyoshevfatal error: zlib.h: No such file or directory
和zlib is missing; necessary for building libxml2
的控制台中。 - Mtxz