linux编译

CMAKE的使用

瘦欲@ 提交于 2019-12-21 23:54:15
一、 基本使用 安装:下载二进制包后可直接解压使用 从源码安装则执行命令:./bootstrap; make; make install——尝试执行bootstrap失败 使用:cmake dir_path,生成工程文件或makefile文件 二、 概念 out-of-source build,与in-source build相对,即将编译输出文件与源文件放到不同目录中; 三、 基本结构 1,依赖CMakeLists.txt文件,项目主目标一个,主目录中可指定包含的子目录; 2,在项目CMakeLists.txt中使用project指定项目名称,add_subdirectory添加子目录 3,子目录CMakeLists.txt将从父目录CMakeLists.txt继承设置(TBD,待检验) 四、 语法 1. #注释 2. 变量:使用set命令显式定义及赋值,在非if语句中,使用${}引用,if中直接使用变量名引用;后续的set命令会清理变量原来的值; 3. command (args ...) #命令不分大小写,参数使用空格分隔,使用双引号引起参数中空格 4. set(var a;b;c) <=> set(var a b c) #定义变量var并赋值为a;b;c这样一个string list 5. Add_executable(${var}) <=> Add_executable

linux下编译自己的库文件实践

那年仲夏 提交于 2019-12-21 15:23:28
有了我传的那个资料,这个就没什么用了,那个太经典了,这个就是记录我自己的实践。:-) linux下文件的类型是不依赖于其后缀名的,但一般来讲: .o,是目标文件,相当于windows中的.obj文件 .so 为共享库,是shared object,用于动态连接的,和dll差不多 .a为静态库,是好多个.o合在一起,用于静态连接 .la为libtool自动生成的一些共享库,主要记录了一些配置信息。 1.创建静态.o库文件和.a库文件 [root@localhost study]# mkdir libtest [root@localhost study]# ls cc.c hello hello1 hello2 libtest [root@localhost study]# cd libtest/ [root@localhost libtest]# pwd /home/a/study/libtest [root@localhost libtest]# vim mylib.c [root@localhost libtest]# vim mylib.h [root@localhost libtest]# ls mylib.c mylib.h [root@localhost libtest]# cat mylib.c #include <stdio.h> void hello() {

linux内核编译

*爱你&永不变心* 提交于 2019-12-21 11:02:42
环境介绍 发行版为Debian 6.0,内核版本为2.6.32-5-686。基本开发环境已具备。 要编译的内核版本为4.3。 内核源码 从 http://www.kernel.org 网站下载内核源码linux-4.3.tar.xz,并解压: xz -dc linux-4.3.tar.xz | tar xvf - 主要参考目录中的README文档说明。 内核编译 为了使编译生成的内容与源码放到不同目录,需要使用O(字母“欧”)参数。 假设内核原码位置为:/home/migney/kernel/linux-4.3;编译生成的内容放到:/home/migney/kernel/build-4.3。 1、内核配置 如果之前编译过,需要先将之前内容清空,然后配置内核: mkdir /home/migney/kernel/build-4.3 cd /home/migney/kernel/linux-4.3 # 清除之前编译生成的内容 make mrproper # 内核配置 make O=/home/migney/kernel/build-4.3 menuconfig 在打开的界面进行相应的配置,保存退出。这一步会生成.config文件。 2、编译 make O=/home/migney/kernel/build-4.3 这会生成各modules、内核镜像等等内容。 3、安装模块 make O

如何在64位Linux系统上编译32位程序

雨燕双飞 提交于 2019-12-21 08:19:13
在64位的ubuntu,GCC8.2.0系统上,如何编译一个32的程序? 查找GCC文档可知,编译64位程序使用-m64选项,例如: gcc -m64 -O3 index.c -o index //该程序只能在64位机器上运行 编译32位程序使用-m32选项,例如: gcc -m32 -O3 index.c -o index //该程序可以在32位或64位机器上运行 但是如果编译32位系统报如下错误: /usr/bin/ld: skipping incompatible /home/zgl/gcc-8.2.0-exe/lib/gcc/x86_64-pc-linux-gnu/8.2.0/libgcc.a when searching for -lgcc /usr/bin/ld: cannot find -lgcc /usr/bin/ld: cannot find -lgcc_s collect2: error: ld returned 1 exit status 此时可能有两个原因:第一是你安装GCC时…/configure配置里面使用了 --disable-multilib,导致没有安装系统库,第二个原因可能是你安装的gcc-multilib、g+±multilib库版本和你的gcc版本不匹配。 尝试1: // 比如我gcc-8.2.0版本

编译Android系统源码

好久不见. 提交于 2019-12-21 01:26:01
步骤 : 1:下载源码 2:搭建编译环境 3:编译( 一定要等源码下载完整再编译) 硬件软件要求 官方文档 : https://source.android.google.cn/setup/build/requirements 硬件要求 : 如果是 Android 2.3.x (Gingerbread) 及更高版本(包括 master 分支),需要使用 64 位环境。如果是较低的版本,则可以在 32 位系统中进行编译。 如果要检出代码,至少需要 250GB 可用磁盘空间;如果要进行编译,则还需要 150GB。如果要进行多次编译,则需要更多空间。 如果在虚拟机中运行 Linux,则至少需要 16GB 的 RAM/交换空间。 我装的是虚拟机Ubuntu16.0.4,根据官方的要求准备了520G,下载的是8.1的源码,编译完以后发现还有250G。多分配点空间更好以免空间不足扩容麻烦。 一、 下载源码 Android 源码是非常庞大的,而且每个模块都是用git来进行管理 ,整个Android源码是由很多个git项目构成,Google对Android代码的更新也是更新到相应模块的git项目上。 那对于需要编译Android的开发者来说,要分别clone 每个git项目而且还要放到固定的位置确实是件惨绝人寰的事,所以Google就开发了一个基于Python编写的帮助开发者管理多个项目的工具

cmake用法详解

两盒软妹~` 提交于 2019-12-21 00:00:49
1.cmake用法详解 ①编写CMakeLists.txt ②执行cmake PATH生成Makefile(PATH是cmakelists.txt所在路径) ③make编译 假设我们的项目中只有一 个源文件 main.cpp,CMakeLists.txt文件如下所示: 1 PROJECT(main) 2 CMAKE_MINIMUM_REQUIRED(VERSION 2.6) //aux_source_directory(<dir> <variable>)把参数 <dir> 中所有的源文件名称赋值给参数 <variable> 3 AUX_SOURCE_DIRECTORY(. DIR_SRCS) //指示变量 DIR_SRCS 中的源文件需要编译 成一个名称为 main 的可执行文件 4 ADD_EXECUTABLE(main ${DIR_SRCS}) 假设我们的源代码 分布情况如下: step2 dir(main.cpp、src(test1.h、test1.cpp))其中 src 目录下的文件要编译成一个链接库,则 CMakeLists.txt文件如下所示: //目录 step2 中的 CMakeLists.txt PROJECT(main) CMAKE_MINIMUM_REQUIRED(VERSION 2.6) ADD_SUBDIRECTORY( src )//ADD

ubuntu16.04 安装配置matlab+python +cuda8.0+cudnn+opencv3.1的caffe环境

∥☆過路亽.° 提交于 2019-12-20 18:03:02
  网络上有很多ubuntu上caffe配置环境的帖子,本人照着其中的许多进行了参考,都出现了或多或少的错误,很多地方也有差异。 于是自己整理了下自己的安装过程,成功进行了测试,跑通了faster-rcnn。配置环境时间为2017.1.4 系统ubuntu16.04 一:显卡驱动的安装:   由于要使用GPU,所以先要查看自己显卡所匹配的显卡驱动,网址: http://www.nvidia.com/Download/index.aspx?lang=en-us   选择电脑匹配的显卡驱动,本人电脑显卡为GTX760,选择如下图所示 输入以下命令执行安装驱动: sudo add-apt-repository ppa:graphics-drivers/ppa sudo apt-get update sudo apt-get install nvidia-375 //此处为上图的驱动版本 sudo apt-get install mesa-common-dev sudo apt-get install freeglut3-dev 安装完成后,重启电脑后输入 nvidia-smi 出现你的电脑gpu列表,如下所示,表示驱动安装成功。 二:安装配置CUDA8.0   cuda官方下载地址: https://developer.nvidia.com/cuda-downloads ,选择如下:  

源码编译安装gcc-5.3.0

南楼画角 提交于 2019-12-20 04:51:40
系统环境:Amazon Linux AMI 2015.09.2 (HVM)---Fedora 23 Server 1、下载gcc-5.3.0安装包并将gcc-5.3.0.tar.gz放到/opt目录下解压: #sudo su #mkdir /opt/&cd /opt/ #wget http://ftp.gnu.org/gnu/gcc/gcc-5.3.0/gcc-5.3.0.tar.gz #tar –zxf gcc-5.3.0.tar.gz 2、创建安装目录: #mkdir /usr/local/gcc-5.3.0/ #cd /usr/local/gcc-5.3.0/ 3、配置安装文件: #/opt/gcc-5.3.0/configure –prefix=/usr/local/gcc-5.3.0 如果执行时出现如下报错: ----------------------------------------------------------------------- configure: error: in `/usr/local/gcc-5.3.0': configure: error: no acceptable C compiler found in $PATH See `config.log' for more details. -------------------------

libzmq Linux 编译

和自甴很熟 提交于 2019-12-20 01:12:01
下载 ZeroMQ:http://download.zeromq.org/ 如需 zmq.hpp 可从这里下载:https://github.com/zeromq/cppzmq/archive/master.zip 也可以从github上搜索libzmq下载,但是编译跟本次不同 编译 tar -xvf zeromq-4.1.2.tar.gz ./configure --prefix= pwd /develop/ --with-libsodium=no make && make install 如果需要libsodium库的支持,请将上述的no去掉,否则会报错 No package ‘libsodium’ found 其他,–with-libsodium=no 或者 --without-libsodium 命令达到的效果相同 来源: CSDN 作者: huangjiazhi_ 链接: https://blog.csdn.net/huangjiazhi_/article/details/103614985

Linux下源码编译MySQL 5.5 与安装过程全记录

[亡魂溺海] 提交于 2019-12-20 00:19:07
原文地址: http://www.linuxidc.com/Linux/2011-08/40087.htm 前言:从mysql 5.5版本开始,mysql源码安装开始使用cmake了,编译安装跟以前的版本有点不一样了。 一,安装步骤: 1.安装前准备工作 a.下载mysql源代码包,的mysql下载页面选择MYSQL Community Serve Source Code 版本 注意:不要选择Linux-Generic版本,此版本为已经编译好的二进制版本 b.检查本机Linux是否已安装好make,bison,cmake,gcc-c++,ncurses,如果尚未安装,先安装以上包,安装方法如下: 注意:一般系统都会默认安装有make,gcc-c++. 1.安装make编译器 下载地址: http://www.gnu.org/software/make/ # tar zxvf make-3.82.tar.gz # cd make-3.82 # ./configure # make # make install 也可用:yum install make.i686 安装此包 2.安装bison 下载地址: http://www.gnu.org/software/bison/ <span ># tar zxvf bison-2.5.tar.gz # cd bison-2.5 # .