开发者社区> 问答> 正文

centos下软件编译的疑惑

一种传统的编译方式是:

./configure --prefix=/usr/local/redis
make && make install
另一种编译方式是:

meke PREFIX=/usr/local/redis install
请问这两种方式有什么区别么

展开
收起
a123456678 2016-06-28 13:52:59 1767 0
1 条回答
写回答
取消 提交回答
  • 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库.

    2019-07-17 19:48:12
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
CentOS Nginx PHP JAVA 多语言镜像使用手 立即下载
CentOS Nginx PHP JAVA多语言镜像使用手册 立即下载
《Java开发手册》2019最新版发布! 立即下载