linux编译

Linux安装redis后台启动

心已入冬 提交于 2020-04-06 09:36:08
下载编译 下载:wget http://download.redis.io/releases/redis-4.0.6.tar.gz 解压:tar -zxvf redis-4.0.6.tar.gz 安装依赖:yum install gcc 编译:cd redis-4.0.6 && make MALLOC=libc 追加文件:cd src && make install 启动 修改redis.conf文件 daemonize yes 启动 ./redis-server /usr/local/redis-4.0.6/redis.conf 来源: oschina 链接: https://my.oschina.net/chinahufei/blog/3220437

源码编译git-go

主宰稳场 提交于 2020-04-06 01:12:34
2018.8.29 安装指定版本的git 一,安装 编译前准备: 依赖库 yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel 编译工具 yum install gcc perl-ExtUtils-MakeMaker 下载 cd /usr/local/src wget https://mirrors.edge.kernel.org/pub/software/scm/git/git-2.7.5.tar.gz tar -zvxf git-2.7.5.tar.gz 执行编译 make all prefix=/usr/local/git 编译完成后, 安装到 /usr/local/git 目录下 make install prefix=/usr/local/git 配置环境变量 echo 'export PATH=$PATH:/usr/local/git/bin' >>/etc/profile.d/git.sh source /etc/profile.d/git.sh 查看版本 git version 创建账号密码 useradd -m git passwd git 二 使用 创建 git 仓库并初始化 mkdir -p /data/repositories cd /data

acl 库

僤鯓⒐⒋嵵緔 提交于 2020-04-05 18:11:37
acl 库的功能参见文章 acl介绍 及 https://github.com/zhengshuxin/acl ,本文主要讲述如何编译和使用 acl 库。 acl 下其实有四个库:lib_acl (基础库)、lib_protocol(http 和 icmp 协议库)、lib_acl_cpp(封装了 lib_acl 和 lib_protocol 两个 C 库的 C++ 版本实现,更是增加了丰富的功能)、lib_dict(封装了 bdb, cdb, Tokyo Cabinet 库的用于字典查询的库)以及 lib_tls(封装了openssl部分功能的库,主要用于 lib_acl 的 ssl 加密传输)。其中,笔者用的最多还是 lib_acl 、lib_protocol 以及 lib_acl_cpp(目前用得最多的库)三个库,所以本文主要介绍这三个库的编译与使用。 开始时 acl 库是支持 Linux、Solaris、FreeBSD 和 Windows 平台的,其它几个平台欢迎读者进行移植。 一、Linux/UNIX 平台上编译(需要使用 gcc/g++编译器及 gnu make 命令) 1、编译 lib_acl.a 库(使用 gcc 编译器) 进入 lib_acl 目录,直接运行 make,正常情况下便可在 lib 目录下生成 lib_acl.a 静态库,用户在使用 lib_acl.a

转载Makefile学习教程

邮差的信 提交于 2020-04-05 15:38:27
该篇文章为转载,是对原作者系列文章的总汇加上标注。 支持原创,请移步陈浩大神博客: http://blog.csdn.net/haoel/article/details/2886 makefile很重要 什么是 makefile ?或许很多Winodws的程序员都不知道这个东西,因为那些Windows的IDE都为你做了这个工作,但我觉得要作一个好的和professional的程序员,makefile还是要懂。这就好像现在有这么多的HTML的编辑器,但如果你想成为一个专业人士,你还是要了解HTML的标识的含义。特别在Unix下的软件编译,你就不能不自己写makefile了, 会不会写makefile,从一个侧面说明了一个人是否具备完成大型工程的能力 。 因为,makefile关系到了整个工程的编译规则。一个工程中的源文件不计数,其按 类型、功能、模块 分别放在若干个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个Shell脚本一样,其中也可以执行操作系统的命令。 makefile带来的好处就是——“自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。make是一个命令工具,是一个解释makefile中指令的命令工具

编译Qt以及驱动的一点总结吧

血红的双手。 提交于 2020-04-04 06:49:33
下载源代码,注意一定是源码压缩包如qt-everywhere-opensource-src-4.8.0.zip,不是Qt发布的已编译的不同版本的标准库如qt-win-opensource-4.8.0-vs2010.exe,这些版本都只是动态编译的,不是我们所需要的。只有用源码包才能做真正的纯静态编译,如果用Qt官网已编译的标准库.exe文件进行编译,有可能出现各种错误,而且编译后的文件巨大,我当时就在这里绕了很大的弯子,请童鞋们注意啦!!可能有些老鸟会笑话,但我本着最严肃的态度告诉菜鸟们,上网查资料看博客,一定要注意博文的文字细节,有时候差几个字就能让你费很大的劲,四处碰壁。 首先解压源码包到你想要保存编译的位置,注意文件目录一定不能包含中文和空格! 由于Qt4.8在VS环境下的一些问题,为了避免编译中途出现,我总结了3个地方需要修改。 (1) 删除源码包中bin目录下的syncqt和syncqt.dat文件,如你不放心可将其改名或剪切到别的位置。如不修改将发生 Perl not found in environment - cannot run syncqt 错误。 (2) 修改\mkspecs\win32-msvc2010下的qmake.conf文件,将其中的 QMAKE_CFLAGS=-nologo -Zm200 -Zc:wchar_t-改成QMAKE_CFLAGS=

QT-4.8.6 编译配置过程

你。 提交于 2020-04-04 05:53:26
1、编译 TSLib sudo apt-get install automake autogen libtool libtool-bin ./autogen.sh ./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CXX=arm-linux-gnueabihf-g++ ac_cv_func_malloc_0_nonnull=yes --prefix=/opt/tslib-1.4 make sudo make install libtool --finish /opt/tslib-1.4/lib/ts/ 2、linux-arm-g++ qmake.conf # # qmake configuration for building with arm-linux-g++ # include(../../common/linux.conf) include(../../common/gcc-base-unix.conf) include(../../common/g++-unix.conf) include(../../common/qws.conf) # modifications to g++.conf QMAKE_CC = arm-linux-gnueabihf-gcc -lts QMAKE_CXX =

在linux环境下编译C++ 程序

ぃ、小莉子 提交于 2020-04-03 07:18:26
单个源文件生成可执行程序 下面是一个保存在文件 helloworld.cpp 中一个简单的 C++ 程序的代码: 单个源文件生成可执行程序 /* helloworld.cpp */ #include <iostream> int main(int argc,char *argv[]) { std::cout << "hello, world" << std::endl; return(0); } 程序使用定义在头文件 iostream 中的 cout,向标准输出写入一个简单的字符串。该代码可用以下命令编译为可执行文件: $ g++ helloworld.cpp 编译器 g++ 通过检查命令行中指定的文件的后缀名可识别其为 C++ 源代码文件。 ** 编译器默认的动作:** 编译源代码文件生成对象文件(object file),链接对象文件和 libstd c++ 库中的函数得到可执行程序。然后删除对象文件。由于命令行中未指定可执行程序的文件名,编译器采用默认的 a.out。程序可以这样来运行: $ ./a.out hello, world 更普遍的做法是通过 -o 选项指定可执行程序的文件名。下面的命令将产生名为 helloworld 的可执行文件: $ g++ helloworld.cpp -o helloworld 在命令行中输入程序名可使之运行: $ ./helloworld

Hadoop 2.0 编译问题小结

点点圈 提交于 2020-04-02 19:38:41
原文见 http://xiguada.org/ hadoop-2-x-compile/ 这些问题是2013年初整理的,不过到目前为止,即使最新的hadoop2.0系列,编译总体上变化不大,因此还能适用。 执行命令: mvn package -Pdist,native -DskipTests -Dtar 1. [ERROR] Failed to execute goal org.codehaus.mojo:make-maven-plugin:1.0-beta-1:autoreconf (compile) on project hadoop-common: autoreconf command returned an exit value != 0. Aborting build; see debug output for more information. -> [Help 1] 原因: 未安装autotool 解决方法: sudo apt-get install autocong sudo apt-get install automake sudo apt-get install libtool 2. [ERROR] Failed to execute goal org.codehaus.mojo:make-maven-plugin:1.0-beta-1:configure

全志Linux Tina编译demoOmxVdec错误

被刻印的时光 ゝ 提交于 2020-04-02 18:28:43
测试裸流 Making install in demoOmxVdec make[6]: Entering directory '/home/liuxueneng/WorkCode/Homlet-Tina-H2_H3/out/dolphin-p1/compile_dir/target/libcedarx/libcedarx/demo/demoOmxVdec' CXX demoOmxVdec-demoOmxVdec.o In file included from ./demoOmxVdec.cpp:12:0: ./OmxCodec.h:4:23: fatal error: OMX_Types.h: No such file or directory compilation terminated. Makefile:576: recipe for target 'demoOmxVdec-demoOmxVdec.o' failed make[6]: *** [demoOmxVdec-demoOmxVdec.o] Error 1 make[6]: Leaving directory '/home/liuxueneng/WorkCode/Homlet-Tina-H2_H3/out/dolphin-p1/compile_dir/target/libcedarx/libcedarx/demo

Makefile

人走茶凉 提交于 2020-04-02 05:33:57
目录 关于makefile make怎么执行 makefile简化 Makefile还有什么 以前对makefile的编写,限于刚开始接触,我都比较局限一些死板的格式,有时候就会显得有些繁琐。在进一步了解一些系统编译和链接的知识后,对makefile编写流程有了一些新的认识,所以来此梳理梳理,方便更为灵活地编写makefile。 关于makefile makefile 带来直接好处就是——“自动化编译”。一旦写好,只需要一个make命令,整个工程完全自动编译,所以十分方便。而Makefile文件就是告诉make命令怎么样地去编译和链接程序。但是想要比较灵活的运用它,还是先要熟悉一些关于系统对程序编译和链接的知识。 一般来说,对C、C++程序、先把源文件编译成中间代码文件。Linux下是 .o 文件即 Object File,在Windows下也就是 .obj 文件,这个动作叫做 编译 (compile)。然后再把大量的.O文件合成执行文件,这个动作叫作 链接 (link) 编译时 ,编译器需要的是语法的正确,函数与变量的声明的正确。对于后者,通常是让我们告诉编译器头文件的所在位置(头文件中放声明,而定义放在C/C++文件中),只要所有的语法正确,编译器就可以编译出中间目标文件。一般来说,每个源文件都应该对应于一个中间目标文件(.O文件或是OBJ文件)。 链接时