人生在世何其痛苦,所以咖啡至少该甜一点。 收藏本站
登陆 / 注册 搜索

阅读: 7K   回复: 4

[# Linux] 零基础Linux|第十三课_如何在linux上编译安装程序

小执念 古黑浩劫论坛大牛 2017-4-4 20:36 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
        众所周知,现在的计算机只能识别二进制的代码,也就是0 1代码。我们编译就是把写好的代码转换成计算机能识别的数据。听起来是不是比在windows上直接点下一步-下一步-下一步....高大上多了?

        好了,开始哔哔了#j346:

        一、linux中软件的依赖关系

        说起这个依赖关系呢,还需要举一个不怎么形象的栗子:大家都知道电脑的组成部分吧?有主板+内存+CPU等等,有这些硬件互相协助,整个电脑才能正常启动。软件依赖和这个也差不多。比如要装Apache,你不能直接装她,必须先把她的依赖装上,apache依赖两个软件apr和apr-util。

        依赖有线状的,如a软件依赖b软件,b软件又依赖c软件;也有网状的,如a软件依赖b软件,c软件又依赖a软件。。。这也许就是你中有我,我中有你吧#j347:

        二、开始编译

        搞清了依赖关系,就可以正式开始编译之路了~这次以memcache为安装例子。

        首先 把软件的源代码下载到本地,解压它。memcache的官网www.memcached.org,源码包地址:http://www.memcached.org/files/memcached-1.4.36.tar.gz

零基础Linux|第十三课_如何在linux上编译安装程序 QQ截图20170404191518.png

        其次 进入软件的根目录,执行“./configure” ,检查一下当前环境是不是能装它自己        (不会解压的,先把前面的课程看完吧.. 零基础Linux|第十课_文件的压缩及解压操作 )。

        第一个错误提示:“If it's already installed, specify its path using --with-libevent=/dir/”

零基础Linux|第十三课_如何在linux上编译安装程序 QQ截图20170404192947.png

        意思是memcache依赖libvent,你要先把libevent这个库给装上。

        执行:yum -y install libevent libevent-devel        (yum这个神奇的东东,我们以后再讲)

        再次 安装好之后,继续“./configure”        (因为我之前装过gcc编译器,所以这里没报编译器的错误,你可以yum安装libevent的时候,加上gcc。 yum -y install libevent libevent-devel gcc-c++

        configure没报错之后会生成一个Makefile文件,生成这个文件之后,就表示当前的系统环境可以编译这个软件了。

零基础Linux|第十三课_如何在linux上编译安装程序 QQ截图20170404194529.png

        然后 就可以编译安装memcache了~~

        执行: make && make install        

零基础Linux|第十三课_如何在linux上编译安装程序 make_6.gif

        make是把代码转换成二进制的文件,make install是把编译好的文件放到适合他们自己的位置。如配置文件放/etc下,函数库放/lib或/usr/lib下...各回各家,各找各妈#j325:

       你也可以在configre的时候,指定安装的目录(./configure --prefix=/usr/local/memcache),这样所有的配置文件都会放到安装目录下。

        你也可以make 等它编译完再用make install命令,连在一起用就不用傻逼逼的等她编译完,然后自己再敲一次命令~

        最后 等她慢慢走完就好了。其他的软件安装,流程也是这样,先检查依赖关系,再编译安装。


小执念 古黑浩劫论坛大牛 2017-4-4 20:46 |显示全部楼层

可遇不可求的事:故乡的云,上古的玉,随手的诗,十九岁的你。

管理员
运维路漫漫其修远兮,小执念将上下而探索。

可惜天依走了,没人给我唱歌了#m291:
Hash 「出类拔萃」 2017-4-4 20:48 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

给执念大大点个赞#m266:
放我一个人生活 「出类拔萃」 2018-1-21 19:53 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

网络安全不能一直靠司法政策压制,技术对抗才是保证安全的本源。
浅笑歌 「出类拔萃」 2018-1-21 20:33 来自手机 |显示全部楼层

这个用户很懒,还没有填写自我介绍呢~

这是一个神奇的年代 小学生自称神和魔 初中生自称宫和朕 高中生自称哥爷爸 大学生自称宝宝#y450:
您需要登录后才可以回帖 登录 | 免费注册  

本版积分规则

关于本站|大事记|小黑屋|古黑论 网站统计

GMT+8, 2020-10-28 05:14 , Processed in 0.033612 second(s), 23 queries , Redis On.

© 2015-2020 GuHei.Net

Powered by Discuz! X3.4

快速回复 返回列表