linux - centos下软件编译的疑惑
本文介绍了linux - centos下软件编译的疑惑的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
一种传统的编译方式是:
./configure --prefix=/usr/local/redis
make && make install
另一种编译方式是:
meke PREFIX=/usr/local/redis install
请问这两种方式有什么区别么
解决方案
Redis的库依赖关系简单,所以Redis作者已经写好了Makefile.
而像PHP这种复杂的程序,则必须先根据configure配置生成Makefile,然后make编译.
因为像PHP的很多扩展功能,都是依赖外部库的,所以必须先用configure检查是否满足依赖关系.
比如PHP经常依赖的一些外部库:libxml,libcurl,openssl,mcrypt,zlib,bz2,libjpeg,libpng等等.
像configure中--with-xxx的配置项基本都是表示这个功能依赖外部库,
而--enable-xxx的配置项则表示这个功能由PHP自己实现,不依赖外部库.
不过有时候PHP的扩展也会内置外部库,比如--with-pcre-regex捆绑的pcrelib库,--with-gd的捆绑的libgd库.
这篇关于linux - centos下软件编译的疑惑的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文