linux编译

如何编译安装Linux内核

你。 提交于 2019-12-04 07:15:37
操作系统环境 VMware workstation15 Pro ubuntu18.04 LTS 待编译内核5.3.10版本 内核下载地址 kernel.org 环境配置 在正式编译前需要安装部分软件。 sudo apt update && sudo apt upgrade sudo apt-get install git fakeroot build-essential ncurses-dev xz-utils libssl-dev bc flex libelf-dev bison 解压缩 解压缩刚刚下载好的内核压缩包。 tar -axf linux-5.3.10.tar.xz cd linux-5.3.10 配置内核 在正式编译内核之前,我们首先必须配置需要包含哪些模块。实际上,有一些非常简单的方式来配置。使用一个命令,你能拷贝当前内核的配置文件,然后使用可靠的 menuconfig 命令来做任何必要的更改。 cp /boot/config-$(uname -r) .config 上述命令的意思就是拷贝对应当前内核配置到当前目录下并重命名为 .config (文件名前加 . 意思为隐藏文件)。 可以自行查看下 uname -r 的输出: uname -r 之后执行命令: make menuconfig 在虚拟机下有可能提示会因为屏幕太小而无法显示 menuconfig 而执行失败

centos 7 python3.6.6的编译安装

回眸只為那壹抹淺笑 提交于 2019-12-04 07:12:59
1. Centos安装python3 1.1 安装软件的方法有哪几种 1 yum一键安装2 rpm包安装(太麻烦,不推荐使用)3 下载源码包,进行编译安装 1.2 安装python3的步骤 1.2.1下载python3源码包 wget https://www.python.org/ftp/python/3.6.6/Python-3.6.6.tgz 1.2.2 下载python3编译的依赖包 yum install -y gcc patch libffi-devel python-devel zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel 1.2.3 解压缩源码包 tar -zxvf Python-3.6.6.tgz 1.2.4 进入源码包文件夹 cd Python-3.6.6 1.2.5 编译且安装 1.进入源码包目录cd Python-3.6.6​2.ls查看源码包内容​3.释放编译文件 Makefile./configure --prefix=/opt/python36​4.编译make​5.编译安装,此步才会最终生成 /opt/python36/make

C/C++ 的编译和链接

流过昼夜 提交于 2019-12-04 06:34:30
C/C++文件 C/C++程序文件包括 .h .c .hpp .cpp,其中源文件(.c .cpp)是基本的编译单元,头文件(.h .hpp)不会被编译器编译。 C/C++项目构建(build)过程,分为以下几个步骤 预处理 → 编译 → 链接。 预编译 预编译的过程可以理解为编译器(实际上是预处理器,这里统称为编译器就可以了)在正式编译之前处理C/C++文件中的预处理命令,即#开头的代码。 常用的几个预处理命令如下: #include ...... #ifdef ...... #else......#endif #define ...... #pragma ...... 举个例子,下面是个很简单的类定义: MyClass.h #define DEFAULT_VALUE 0 class MyClass { public: void Fun(); public: int value = DEFAULT_VALUE; }; MyClass.cpp #include "MyClass.h" void MyClass::Fun() { // Do someting return; } 预编译完成后的样子: class MyClass { public: void Fun(); public: int value = 0; }; void MyClass::Fun() { // Do

我的arm-gcc工具编译安装过程

寵の児 提交于 2019-12-04 03:52:19
我的编译环境是在xubuntu里,开始前确认环境里有texinfo, gawk(注意mawk编译glibc header时会有问题), bison, flex,没有就安装它们。 工作的目录是用户目录下 源文件放在目录cross_source里 编译的工作目录是cross_build xxx 就是存放解压出来的源代码,例如binutils-2.19.tar.bz2,解压放在binutils-2.19 xxx_build 用于编译的目录,例如binutils-2.19.tar.bz2,编译目录是binutils-2.19_build 用到的文件是 binutils-2.19.tar.bz2 gcc-core-4.3.2.tar.bz2 gcc-g++-4.3.2.tar.bz2 mpfr-2.3.2.tar.bz2 gmp-4.2.4.tar.bz2 linux-2.6.28.tar.bz2 glibc-ports-2.7.tar.bz2 glibc-2.7.tar.bz2 首先创建目录 >mkdir cross_source >mkdir cross_build >cd cross_build 1编译,安装binutils binutils的配置和编译安装,binutils的编译一般不会遇到什么问题,至少我没有遇到。 >tar -jxvf ../cross_source

ALSA编译中的一些问题总结

淺唱寂寞╮ 提交于 2019-12-04 03:33:48
想在ARM上跑一个自己写的alsa应用程序,为了编译的问题纠结了一晚上,把自己的一些经验写下来 首先是安装alsa-lib 从网上找的交叉编译方法: ALSA 交叉编译 1, 下载 alsa-lib-1.0.15rc2.tar.bz2 。 http://download.chinaunix.net/download/0001000/358.shtml 或者 http://www.alsa-project.org/main/index.php/Main_Page 2, tar jxvf alsa-lib-1.0.15rc2.tar.bz2 cd alsa-lib-1.0.15rc2 ./configure --host=arm-none-linux-gnueabi --prefix=/home/part2/alsa-lib make & make install 这时在 /home/part2/alsa-lib 目录下就产生了一些头文件了。 这部还算顺利,因为写的是一个大程序用的是QT开发环境,加上对Makefile的理解还不深,期间遇到了很多问题。 主要是找不到alsa/asoundlib.h,编译时找不到-lasound 程序在pc上跑的好好的一用arm-linux-g++就出现一大堆问题 这是我的pro文件: TARGET = alsa_test_arm2 TEMPLATE =

Linux基于webRTC的二次开发(一)

走远了吗. 提交于 2019-12-04 02:32:17
最近在做Linux平台下webRTC的二次开发,一路摸索,中间踩了不少坑,这一篇博客先来简单介绍下Linux上如何使用GCC编译webRTC。 为什么使用GCC编译? 这其实是无奈之举,Linux下webRTC中的ninja工程使用的是Clang进行编译,且依赖其内置的stdc标准库。然而我现有的开发环境所使用的编译器为GCC,在使用Clang进行webRTC二次开发时遇到各种编译错误,只好改用GCC重新编译webRTC。 1.获取webRTC源码 需要准备一个梯子,同时使用工具进行终端穿墙。 获取源码流程可以查看官方文档 https://webrtc.org/native-code/development/ 首先安装Chromium depot tools; git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git 将depot tools路径添加道环境变量中 export PATH=$PATH:/path/to/depot_tools 然后获取webRTC源码 mkdir webrtc-checkout cd webrtc-checkout fetch --nohooks webrtc gclient sync webrtc源码下载下来很大,确保翻墙工具有足够的流量 2.修改BUILD

C++ 编译环境

让人想犯罪 __ 提交于 2019-12-04 01:55:20
1 面向 Linux 和 Windows 操作系统:CentOS 7 1.1 安装 CentOS 7 http://mirrors.ustc.edu.cn/centos/7/isos/x86_64/CentOS-7-x86_64-Minimal-1810.iso yum install epel-release yum update yum install wget zip unzip 1.2 Linux 64-bit yum install gcc gcc-c++ gcc-gfortran yum install glibc-static libstdc++-static libgfortran-static yum install boost-static yum install blas-static lapack-static yum install qt5-qtbase-devel MKL 链接方式 MKLROOT=/opt/intel/mkl MKLLIB=${MKLROOT}/lib/intel64 LIB1=${MKLLIB}/libmkl_intel_lp64.a LIB2=${MKLLIB}/libmkl_sequential.a LIB3=${MKLLIB}/libmkl_core.a LDLIBS += -Wl,--start-group $LIB1

python基础(一)-day01

前提是你 提交于 2019-12-03 22:56:31
01.万恶之源-python基础 ⼀一.python介绍 python的创始⼈人为吉多·范罗苏姆(Guido van Rossum)。1989年年的圣诞节期间,吉多· 范罗苏姆为了了在阿姆斯特丹丹打发时间,决⼼心开发⼀一个新的脚本解释程序,作为ABC语⾔言的⼀一 种继承。 最新的TIOBE排⾏行行榜,Python已经占据世界第四名的位置, Python崇尚优美、清晰、简 单,是⼀一个优秀并⼴广泛使⽤用的语⾔言。 由上图可⻅见,Python整体呈上升趋势,反映出Python应⽤用越来越⼴广泛并且也逐渐得到业内 的认可!!! Python可以应⽤用于众多领域,如:数据分析、组件集成、⽹网络服务、图像处理理、数值计算 和科学计算等众多领域。⽬目前业内⼏几乎所有⼤大中型互联⽹网企业都在使⽤用Python,如: Youtube、Dropbox、BT、Quora(中国知乎)、⾖豆瓣、知乎、Google、Yahoo!、 Facebook、NASA、百度、腾讯、汽⻋车之家、美团等。 ⽬目前Python主要应⽤用领域: 云计算: 云计算最⽕火的语⾔言, 典型应⽤用OpenStack WEB开发: 众多优秀的WEB框架,众多⼤大型⽹网站均为Python开发,Youtube, Dropbox, ⾖豆瓣。。。, 典型WEB框架有Django 科学运算、⼈人⼯工智能: 典型库NumPy, SciPy,

gcc详解以及静态,动态库的生成 2

拟墨画扇 提交于 2019-12-03 22:28:40
我们通常把一些公用函数制作成函数库,供其它程序使用。函数库分为静态库和动态库两 种。静态库在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库。动态 库在程序编译时并不会被连接到目标代码中,而是在程序运行是才被载入,因此在程序运 行时还需要动态库存在。本文主要通过举例来说明在Linux中如何创建静态库和动态库,以 及使用它们。 在创建函数库前,我们先来准备举例用的源程序,并将函数库的源程序编译成.o文件。 第1步 :编辑得到举例的程序--hello.h、hello.c和main.c; hello.c(见程序2)是函数库的源程序,其中包含公用函数hello,该函数将在屏幕上输出" Hello XXX!"。hello.h(见程序1)为该函数库的头文件。main.c(见程序3)为测试库文件的 主程序,在主程序中调用了公用函数hello。 程序1: hello.h #ifndef HELLO_H #define HELLO_H void hello(const char *name); #endif //HELLO_H 程序2: hello.c #include <stdio.h> void hello(const char *name) { printf("Hello %s!\n", name); } 程序3: main.c #include "hello.h" int

win上傻瓜化安装Qt开发环境

感情迁移 提交于 2019-12-03 22:27:18
win上傻瓜化安装Qt开发环境 古老的 MSYS 搭建的开发环境不仅存在一些兼容性问题,而且还很繁琐,幸好 mingw-build 项目的开发者又做了更进一步的改进,他们开发了 MSYS2 项目。这个项目不仅兼容性更好,而且引入了包管理机制,可以直接从网上下载相关的软件,并解决相关的依赖性问题。 这个项目的主页在 http://sourceforge.net/projects/msys2/ 进入项目主页后,根据你的系统选择 32 位或者 64 位,现在大家使用的系统应该都是 64 位的了。下载好 base 包,然后解压缩到什么地方,一般我都是解压缩到 D 盘的根目录下,然后把 bin 目录加入系统 PATH 。在 MSYS2 根目录下有 3 个 bat 文件,它们是启动 MSYS2 的命令,根据需要启动,如果你不做开发,那么只需要启动 msys2_shell.bat 就足够了;如果你需要软件开发,那么就启动 mingw64_shell.bat ,它会在 MSYS 目录下新建一个 mingw64 的目录,里面存放着 mingw 编译器及其类库。首次运行时会进行一些系统设定,等到命令提示符出现就完成了,此时需要退出 MSYS2 ,然后重新进入。 在 MSYS 窗口左上角点击那个图标,弹出的菜单中有 option ,可以设置 MSYS2 的一些参数