linux编译

centos 6.5(centos7)下安装thrift 0.9.1详细教程

有些话、适合烂在心里 提交于 2019-12-01 04:23:54
进行Thrift的最小化安装,在Centos 6.5 上下面的步骤必不可少. 我们给出从源代码编译Thrift的例子。这些介绍对Thrift0.9.2 的 releases版本同样有效。 更新系统 sudo yum -y update (系统会被升级为6.7) 安装平台开发工具 sudo yum -y groupinstall "Development Tools" (这一步不一定成功,但是不影响后面) 升级autoconf/automake/bison sudo yum install -y wget 升级 autoconf wget http://ftp.gnu.org/gnu/autoconf/autoconf-2.69.tar.gz tar xvf autoconf-2.69.tar.gz cd autoconf-2.69 ./configure --prefix=/usr make sudo make install cd .. 升级 automake wget http://ftp.gnu.org/gnu/automake/automake-1.14.tar.gz tar xvf automake-1.14.tar.gz cd automake-1.14 ./configure --prefix=/usr make sudo make install cd .. 升级

Linux 新手入门教程

China☆狼群 提交于 2019-12-01 02:34:55
目录 Linux 新手入门教程 简介 桌面环境 Linux 的安装 文件系统和分区 运行级别 强大的终端 Linux 文件系统权限 软件包管理 编辑器之神:VIM 使用 Linux 溜起 C/C++ Linux 新手入门教程 1991年10月5日, Linus Torvalds 在互联网上发布消息,宣布他自己开发的内核系统诞生了。他将内核源代码保存在芬兰最大的 FTP 网站上,命名为 Linux ,取义 Linus's Minix ,并向全世界所有人公布。这也使得10月5日成为一个特殊的日子,以致之后的许多 Linux 版本都选择在这个日子发布。当然,如今的 Linux 一词被递归定义为 Linux is not Unix 。 简介 Linux 是一套免费使用和自由传播的类 Unix 操作系统,严格来说, Linux 一词仅指其操作系统内核,不包括任何附加软件。但如今 Linux 拥有数不胜数的发行版本,广义上它们都可以叫做 Linux ,典型代表如 Debian 系列、 RedHat 系列、 Arch 系列和 SUSE 系列等,它们也都有着各自的侧重和坚持。 桌面环境 尽管我们使用 Windows 或 OS X 操作系统的时候可能不会很在意 桌面环境 ,但在 Linux 下我们将需要考虑选择一个中意的桌面环境——也许是多个——或者在某些情况下,完全不必安装桌面环境

Makefile 第二章 makefile概述

家住魔仙堡 提交于 2019-12-01 02:14:51
什么是makefile?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的集成开发环境(integrated development environment, IDE)都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了,会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计其数,并且按类型、功能、模块分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个 Shell脚本一样,其中也可以执行操作系统的命令。 makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。 make是一个命令工具,是一个解释makefile中指令的命令工具,一般来说,大多数的IDE都有这个命令,比如:Delphi的make, Visual C++的nmake

为树莓派4编译64位的内核

末鹿安然 提交于 2019-12-01 00:29:50
树莓派从3代开始就已经是64位的CPU了,64位的CPU当然要使用64位的系统了。但是即便性能更强大的树莓派4都已经发布两三个月了,树莓派官方也没有放出64位的系统, 我想这可能是为了照顾3代以前的树莓派吧,毕竟一个系统要适配所有的产品,同时系统升级到64位,对于树莓派的整个软件生态来说都是一次改头换面的大更新,树莓派基金会作为一个非营利性的组织,精力可能有点不够,所以官方的64位系统还得再等等。 不过如果你网上搜索 “树莓派 64位系统”, 会发现现在已经有很多非官方的64位系统了,这是因为树莓派的内核是开源的,64位的内核是可以从源码编译的,所以网上的所有的树莓派64位系统,包括所谓的 “全球首发”的64位debain, 都是从树莓派的Linux内核源码编译来的。 对于网上那些魔改内核的64位系统,不做评价。但对于处女座有强迫症的人来说,要想体验到真正原滋原味的树莓派64位系统,还是得自己动手从头编译。 本文背景即基于此。树莓派官方有一篇关于内核编译的文章: kernel building , 作为官方的教程,肯定是很详细的,但是这篇是针对32位内核的,所以我重新梳理一下编译64位内核的过程。 先说一下编译环境: 主机:archlinux x86_64 需要的软件: make git aarch64交叉编译工具: aarch64-linux-gnu-gcc flex,

为树莓派4编译64位的内核

人走茶凉 提交于 2019-12-01 00:23:26
树莓派从3代开始就已经是64位的CPU了,64位的CPU当然要使用64位的系统了。但是即便性能更强大的树莓派4都已经发布两三个月了,树莓派官方也没有放出64位的系统, 我想这可能是为了照顾3代以前的树莓派吧,毕竟一个系统要适配所有的产品,同时系统升级到64位,对于树莓派的整个软件生态来说都是一次改头换面的大更新,树莓派基金会作为一个非营利性的组织,精力可能有点不够,所以官方的64位系统还得再等等。 不过如果你网上搜索 “树莓派 64位系统”, 会发现现在已经有很多非官方的64位系统了,这是因为树莓派的内核是开源的,64位的内核是可以从源码编译的,所以网上的所有的树莓派64位系统,包括所谓的 “全球首发”的64位debain, 都是从树莓派的Linux内核源码编译来的。 对于网上那些魔改内核的64位系统,不做评价。但对于处女座有强迫症的人来说,要想体验到真正原滋原味的树莓派64位系统,还是得自己动手从头编译。 本文背景即基于此。树莓派官方有一篇关于内核编译的文章: kernel building , 作为官方的教程,肯定是很详细的,但是这篇是针对32位内核的,所以我重新梳理一下编译64位内核的过程。 先说一下编译环境: 主机:archlinux x86_64 需要的软件: make git aarch64交叉编译工具: aarch64-linux-gnu-gcc flex,

为树莓派4编译64位的内核

只谈情不闲聊 提交于 2019-12-01 00:10:28
树莓派从3代开始就已经是64位的CPU了,64位的CPU当然要使用64位的系统了。但是即便性能更强大的树莓派4都已经发布两三个月了,树莓派官方也没有放出64位的系统, 我想这可能是为了照顾3代以前的树莓派吧,毕竟一个系统要适配所有的产品,同时系统升级到64位,对于树莓派的整个软件生态来说都是一次改头换面的大更新,树莓派基金会作为一个非营利性的组织,精力可能有点不够,所以官方的64位系统还得再等等。 不过如果你网上搜索 “树莓派 64位系统”, 会发现现在已经有很多非官方的64位系统了,这是因为树莓派的内核是开源的,64位的内核是可以从源码编译的,所以网上的所有的树莓派64位系统,包括所谓的 “全球首发”的64位debain, 都是从树莓派的Linux内核源码编译来的。 对于网上那些魔改内核的64位系统,不做评价。但对于处女座有强迫症的人来说,要想体验到真正原滋原味的树莓派64位系统,还是得自己动手从头编译。 本文背景即基于此。树莓派官方有一篇关于内核编译的文章: kernel building , 作为官方的教程,肯定是很详细的,但是这篇是针对32位内核的,所以我重新梳理一下编译64位内核的过程。 先说一下编译环境: 主机:archlinux x86_64 需要的软件: make git aarch64交叉编译工具: aarch64-linux-gnu-gcc flex,

为nexus5编译ubuntu14.04TLSx64(android4.4.4 r1+kernel)

谁说胖子不能爱 提交于 2019-12-01 00:04:28
vmware经过3天的编译终于编译完安卓4.4的源码,整个过程并不顺利,因此记录下编译过程。 编译环境搭建: vmware 10.01 一、Ubuntu 14.04 TLS 64位 硬盘:80G 如果编译过程中遇到硬盘空间不够可以执行以下步骤: 1、$ vmware安装目录/vmware-vdiskmanager -x 80Gb "D:\VMware\WinXP\myUbuntu.vmdk" 2、vmware启动gparted-live-0.22.0-2-i586.iso进行分区扩容,详细请百度 内存:8G 依赖库: 1、添加ia32依赖库 $ sudo apt-get update $ sudo apt-get install lib32z1 lib32ncurses5 lib32bz2-1.0 lib32stdc++6 2、添加google建议依赖包 $ apt-get install bison g++-multilib git gperf libxml2-utils make python-networkx zlib1g-d ev:i386 zip 安装jdk,官方建议openjdk7但是编译时提示错误后来卸载后装的oracle jdk6 python建议2.3-2.7,查看版本 $ python -version 添加ubuntu交换区

linux内核编译学习笔记

不打扰是莪最后的温柔 提交于 2019-11-30 22:44:27
linux内核由于庞大的代码量和复杂的代码结构,使用通用的makefile形式不仅存在很大的工作量,而且内核的可配置性不好,每次裁剪模块都需要深入到每一层的目录结构修改makefile,并不现实。所以linux提供了一套configure和makefile体系,根据config中的配置操作生成各个子目录下的makefile,决定哪些文件参与编译。内核本身包含了顶层makefile文件,该文件指示了通用的框架。而各个子目录下的makefile文件也不像传统的makefile文件编写格式,它们是结合scripts/目录下的一系列规则文件使用的,只需要指明需要参与编译的子目录/文件即可。在学习了解内核编译体系结构时,因之前基础薄弱,而且对makefile的语法并不熟悉,所以感觉晦涩难懂。后来学习参考同行的博客,对整个脉络有了整体的思路,对makefile体系架构有了更深的了解。 本文重点记录已经学习到的知识,从最终生成的image文件反推,一步一步看如何生成了image文件。首先需要知道,make命令肯定是要执行顶层目录下的makefile文件。 一、makefile文件系统结构 1、scripts/目录下的makefile规则文件 scripts目录下包含makefile规则文件。这些文件相当于制定了一套规则,会解析子目录下的makefile文件。由顶层makefile文件、

编译工具链,生成各个平台的ffmpeg版本的库

青春壹個敷衍的年華 提交于 2019-11-30 22:41:04
1.在开始动手编译ffmpeg之前我们来梳理一下几个概念,gcc、g++、msvc、mingw、clang、cmake、make、qmake 作为一个windows软件工程师,以为长时间浸淫在各种强大的IDE的世界里,对编译的过程和相关的工具链还是相当陌生的。上面举出来的几个词语是自己在要编译各种平台的库的时候遇到的,因为Qt是跨平台的,所以要求相关的库也要跨平台; gcc/g++ 是c和c++对应的编译器,完成代码的编译和链接过程,clang也可以用来编译c++ oc,编译oc的时候效率是gcc的三倍。 gcc/g++和clang是linux下常用的编译器,gcc是GNU的亲儿子,clang是后起之秀 msvc是windows环境下的c++编译器,MinGW 就是 GCC 的 Windows 版本 可以实现交叉编译 make是用来执行makefile的 cmake是抽象层次更高的项目管理工具,cmake命令执行的CMakeLists.txt文件。生成makefile   cmake和qmake在Linux等环境下最后还是会生成一个Makefile 下图标示了几个概念的抽象层次: 参考 https://www.cnblogs.com/DLarTisan/p/7070609.html 2.开始编译 编译windows版本的ffmpeg 编译linux版本的ffmpeg 编译mac

[深入理解Android卷一全文-第一章]阅读前的准备工作

给你一囗甜甜゛ 提交于 2019-11-30 21:52:58
由于《深入理解Android 卷一》和《深入理解Android卷二》不再出版,而知识的传播不应该因为纸质媒介的问题而中断,所以我将在OSC博客中全文转发这两本书的全部内容。 第一章 阅读前的准备工作 本章主要内容 本章简单介绍Android系统架构、编译环境的搭建以及一些工具的使用。 1.1 系统架构 1.1.1 Android系统架构 Android是Google公司推出的一款手机开发平台。该平台本身是基于Linux内核的,图1-1展示了这个系统的架构: 图1-1 Android系统架构 从上图中可以看出,Android系统大体可分为四层,从下往上依次是: Linux内核层,目前Android2.2(代号为Froyo)基于Linux内核2.6版本。 Libraries层,这一层提供动态库(也叫共享库)、Android运行时库、Dalvik虚拟机等。从编程语言上来说,这一层大部分都是用C或C++写的,所以也可以简单地把它看成是Native层。 Libraries层之上是Framework层,这一层大部分用Java语言编写。它是Android平台上Java世界的基石。 Framework层之上就是Applications层了,和用户直接交互的就是这些应用程序,它们都是用Java开发的。 从上面的介绍可看出,Android最大的特点之一