为什么编译时出现cannot find lz错误,怎么解决

2025-05-15 02:41:46
推荐回答(4个)
回答1:

  c" -name "vpath提示缺少vpath。或者configure文件有问题 。或者别的,下载的源码不全。
  解决办法:试着在终端下输入find /.c这个文件。或者,重新下载源码。

  编译
  编译(compilation , compile) 1、利用编译程序从源语言编写的源程序产生目标程序的过程。 2、用编译程序产生目标程序的动作。 编译就是把高级语言变成计算机可以识别的2进制语言,计算机只认识1和0,编译程序把人们熟悉的语言换成2进制的。 编译程序把一个源程序翻译成目标程序的工作过程分为五个阶段:词法分析;语法分析;语义检查和中间代码生成;代码优化;目标代码生成。主要是进行词法分析和语法分析,又称为源程序分析,分析过程中发现有语法错误,给出提示信息。
  中间代码是源程序的一种内部表示,或称中间语言。中间代码的作用是可使编译程序的结构在逻辑上更为简单明确,特别是可使目标代码的优化比较容易实现中间代码,即为中间语言程序,中间语言的复杂性介于源程序语言和机器语言之间。中间语言有多种形式,常见的有逆波兰记号、四元式、三元式和树。

回答2:

是编译链接的问题 cannot find -lz 吗? 如果是的话,看这个办法:
./configure .............参数.......................完了后
执行make LIBS="libz.so.1.2.3 libz.a"
make install
将libz.a拷贝到/usr/lib/目录下
ldconfig -v
这就是我的解决办法!

回答3:

提示缺少vpath.c这个文件。或者别的
你下载的源码不全。或者configure文件有问题
你试着在终端下输入find / -name "vpath.c"看看能不能找到这个文件

回答4:

编译的时候出现"/usr/bin/ld: cannot find -lz"错误,需要安装zlib-dev这个包,在线安装命令为:apt-get install zlib1g-dev。