linux编译

ubuntu 交叉编译 busybox-1.31.1

痴心易碎 提交于 2019-12-06 05:06:35
目的:静态编译 Busybox_arm64-1.13.1 环境:Ubuntu 18.04.3 #----------------环境配置 # aarch64-linux-gnu-g++ sudo apt install -y g++ g++-aarch64-linux-gnu # menuconfig sudo apt install -y libncurses5-dev flex bison #----------------编译过程 #下载源码 wget https://busybox.net/downloads/busybox-1.31.1.tar.bz2 tar -jxvf busybox-1.31.1.tar.bz2 cd busybox-1.31.1 #生成默认编译配置 生成文件大小约2.04MB。 make defconfig #编辑配置 make menuconfig #Settings ---> # --- Build Options # [ ] Build static binary (no shared libs) #按“空格键”勾选此项。 make -j8 ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- #-j8代表8线程编译 来源: https://www.cnblogs.com/srczhang/p

Goahead 编译

谁都会走 提交于 2019-12-06 04:46:23
目录 Goahead 目录说明 Ubuntu编译 交叉编译 方便测试 参考 title: Goahead date: 2019/11/6 09:45:01 toc: true --- Goahead 目录说明 Makefile #顶层Makefile,可以自动检测当前运行平台的环境,并调用projects的mk projects #子层的Makefile,有各个平台的 #可以看到直接make 输出如下 make --no-print-directory -f projects/goahead-linux-default.mk all # 安装 sudo make install Ubuntu编译 make make sudo make install selfkey处理 reallin@ubuntu:/work/goahead/goahead-5.0.1$ sudo goahead -v --home /etc/goahead /var/www/goahead goahead: 0: Unable to read key self.key goahead: 0: Cannot initialize server. Exiting. sudo cp ./build/linux-x64-default/bin/self.key /etc/goahead sudo cp ./build

源码包的安装与管理

馋奶兔 提交于 2019-12-06 04:14:14
在上一篇博客中我已经介绍了rpm包的安装与管理,今天我们来说一说源码包的安装与管理。 一、软件包的选择 如果软件包是给大量客户提供访问,建议使用源码包安装,如LAMP环境搭建,因为源码包效率更高。 如果软件包是给Linux底层使用,或只给少量客户访问,建议使用rpm包安装,因为rpm包简单。 在如今硬件水平的不断提高,这两种软件包安装的效果差距越来越小,还是看自己的选择,追求速度的话可以选择rpm包,更多的功能和扩展可以选择源码包安装。 二、安装过程 (1)下载软件包。 (2)解压缩。 (3)进入解压目录。 (4)./configure 编译前准备 这一步主要有三个作用: 在安装之前需要检测系统环境是否符合安装要求。 定义需要的功能选项。“./configure”支持的功能选项较多,可以执行“./configure --help” 命令查询其支持的功能。一般都会通过“./configure --prefix=安装路径”来指定安装路径。 把系统环境的检测结果和定义好的功能选项写入 Makefile 文件,后续的编译和安装需要依赖这个文件的内容。 需要注意的是,configure 不是系统命令,而是源码包软件自带的一个脚本程序,所以必须采用 “./configure”方式执行(“./”代表在当前目录下)。 (5)make 编译 make 会调用 gcc 编译器,并读取 Makefile

centos7下编译clickhouse

隐身守侯 提交于 2019-12-06 04:14:09
Centos7 编译安装Clickhouse 检查是否支持SSE4.2 安装依赖项 安装高版本 gcc 安装cmake 3 源码安装Clickhouse 启动服务 1 、检查是否支持SSE4.2 grep -q sse4_2 /proc/cpuinfo && echo "SSE 4.2 supported" || echo "SSE 4.2 not supported" 2 、安装依赖项 yum install git cmake ninja-build libicu-devel clang libicu-devel readline-devel mysql-devel openssl-devel unixODBC_devel bzip2 -y 3 、安装高版本 gcc wget ftp://gnu.mirror.iweb.com/gcc/gcc-7.5.0/gcc-8.2.0.tar.xz tar xvf gcc-8.2.0.tar.xz cd gcc-8.2.0 ./contrib/download_prerequisites mkdir build cd build ../configure --prefix=/opt/gcc8 --enable-languages=c,c++ --disable-multilib export THREADS=$(grep -c

Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台

对着背影说爱祢 提交于 2019-12-06 03:15:54
Ubuntu 14.04下搭建Python3.4 + PyQt5.3.2 + Eric6.0开发平台 分类: Linux Ubuntu Oracle 2014-10-14 14:49 3613人阅读 评论 (13) 收藏 举报 Ubuntu Python SIP PyQt5 Eric6 目录 (?) [+] 引言 找 了很多Python GUI工具集,还是觉得PyQt比较理想,功能强大跨平台,还支持界面设计器。花一天时间折腾了Ubuntu14.04(32位)+ Python3.4 + Qt5.3.2 + PyQt5.3.2 + Eric6.0 的完整开发平台的搭建,各种出错差点放弃了,好在终于一一解决了,记录下来以后搭建起来方便点。 安装Python3.4 Ubuntu14.04貌似默认安装了Python2.7 和Python3.4。故Python3.4的安装可略去。 安装Qt5 Ubuntu14.04自带Qt4的部分库文件,但是我们的平台要求Qt5,所以首先安装Qt5. Qt5.3.2下载:http://qt-project.org/downloads 安装过程: 下载到的是Qt5的在线安装程序,为其赋予可执行权限即可单击启动。由于我之前文件都安装在/opt目录下,故这里以root身份安装: [plain] view plain copy print ? sudo chmod a

基于Ubuntu交叉编译FFmpeg Windows SDK

爱⌒轻易说出口 提交于 2019-12-06 01:50:56
基于Ubuntu交叉编译FFmpeg Windows SDK 写在前面    FFmpeg 是一个开源且跨平台的音视频解决方案,集采集、转码、流式化为一身,项目的 libavcodec 编解码模块和 libavformat 媒体格式模块,支持非常非常丰富的编解码格式和容器封装格式,是做媒体相关开发工作必须要掌握和借鉴的一个项目。定制和编译ffmpeg是做流媒体开发迟早要面对的,linux平台上相对简单,windows平台就比较麻烦了。本文的目的就是详细介绍下如何基于ubuntu交叉编译环境,编译和定制ffmpeg。 一 概述   ffmpeg主要是基于linux开发,当然它也支持windows,不过并不支持visual studio系列IDE(因为它使用了大量C99特性,而vs不支持C99),所以要想在windows上使用,必须要通过mingw或cygwin来编译,或者在linux上构建windows交叉编译环境,后者要简单些。这里有个网站 http://ffmpeg.zeranoe.com/ ,作者提供了ffmpeg已经编译好的windows版本,包括静态连接的,动态连接的,以及sdk,基本上隔几天就编译一次。大家可以先上去看一下,如果它编译的符合你的需求(上次看的时候它好像没有加入libfaac,现在不知道了),而你又懒得编译,就可以使用它的

内核简单移植

爷,独闯天下 提交于 2019-12-06 00:36:57
1:编译内核   1.1:修改顶层Makefile:定义 ARCH 和 CROSS_COMPILE 这两个的变量值为 arm 和 arm-linux-gnueabihf-   1.2:第一次编译清理一下:make clean   1.3:配置内核:make imx_v7_mfg_defconfig   1.4:编译内核:make 2:添加开发板默认配置文件   cd arch/arm/configs   cp imx_v7_mfg_defconfig imx_alientek_emmc_defconfig 3:添加设备树文件   cd arch/arm/boot/dts   cp imx6ull-14x14-evk.dts imx6ull-alientek-emmc.dts 4:编译 5:修改驱动设备树后重新编译设备树:make dtbs,使用新的设备树重启系统即可 来源: https://www.cnblogs.com/lzd626/p/11953913.html

建立基于docker的编译环境

陌路散爱 提交于 2019-12-05 19:14:17
如果我们要在一台开发主机上搭一个编译环境,我们需要安装一堆依赖库和编译工具。如果我们有多个不同的项目同时进行,这些项目的编译工具和依赖库又都不一样,如果我们把这些东西全都塞到一台机器里,会不会有冲突呢? 如果我们想保持开发主机的干净,做到项目隔离,python里面我们可以切换env。我们也可以用docker来实现开发环境的构建,这样做还有一个好处,那就是可复用,如果你用docker搭好了一个环境,可以很容易在另一台机器上用docker image构建一个同样的环境。 下面我们想建立一个alpine linux的编译环境。 首先我们创建一个工作目录 ~/$ mkdir alpine-sdk ~/$ cd alpine-sdk ~/alpine-sdk$ 然后创建Dockerfile ~/alpine-sdk$ cat Dockerfile FROM alpine:3.7 RUN echo "http://mirrors.nju.edu.cn/alpine/v3.7/main" > /etc/apk/repositories RUN echo "http://mirrors.nju.edu.cn/alpine/v3.7/community" >> /etc/apk/repositories RUN apk update RUN apk upgrade RUN apk add git

Rust 入门 (一)

微笑、不失礼 提交于 2019-12-05 18:10:46
Rust 语言的介绍、特性什么的都不说了,如有需要,请自行了解。这里我们直接进去正题。 一、开发环境 mac或linux系统,在命令行安装 curl https://sh.rustup.rs -sSf | sh 安装过程中会询问安装方式,我直接选择的第一种默认方式,第二种是自定义,第三种是取消安装 然后会发现在自己家目录下有一个 .cargo 的隐藏文件夹,里面有四个文件 bin env git registry 。 1. env 文件设置了 Rust 的环境变量, 2. bin 文件夹下是相关的工具 cargo cargo-miri rust-gdb rustdoc cargo-clippy clippy-driver rust-lldb rustfmt cargo-fmt rls rustc rustup 。 更新到最新版本(rust会6个星期更新一个版本) rustup upddate 查看版本 rustc --version cargo --version 卸载 rustup self uninstall 在 Windows 系统上就不说了,直接下载 Rust安装包rustup-init.exe 安装即可。 tips: 如果想查看文档,可以使用如下命令: rustup doc 二、Hello World 学习语言的老规矩,二话不多说,先写一个 Hello World 。

CMake Hello World

末鹿安然 提交于 2019-12-05 15:28:34
目录 CMake Hello World 一、单个源文件的编译 二、多文件编译 三、生成一个静态库,链接该库 四、将源文件、库文件、头文件放在不同的文件夹中 单独指定目标文件及库文件的位置 五、使用动态库 install 指令 使用外部共享库和头文件 CMake Hello World 一、单个源文件的编译 //main.c #incldue<stdio.h> int main() { printf("Hello World!/n"); return 0; } 在main.c相同目录下再编写一个CMakeLists.txt文件,内容如下: project(HELLO) set(SRC_LIST main.c) add_executable(hello ${SRC_LIST}) 同时,在相同目录下创建一个build子文件夹,用来进行外部编译 进入build文件夹,调用cmake: $ cmake .. $ make cmake将会按照CMakeLists.txt中的规则生成对应的MakeFile,make 之后得到可执行目标文件 hello $ ./hello $ Hello World! 当前的目录结构: +-- main.c +-- CMakeLists.txt +-- /build +--hello 第一行的 project 其实很重要,一般来说该语句在整个工程中只需要出现一次