linux c++ rabbitMq Demo
1.在vs上实现远程调试Linux c++程序:https://www.jianshu.com/p/8b51a795cb92。
2.调试需要c++11,升级redhat上的gcc版本,虚拟机gcc版本4.4.7,使用yum只能升级到4.4.7,所以需要手动完成:
一、查看当前系统以及gcc版本号
|
1
2
3
4
5
6
7
8
9
10
11
12
|
[root@huangdc local]#gcc -v
Using built-in specs.
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC)
[root@huangdc local]# cat /etc/redhat-release
CentOS release 6.5 (Final)
[root@huangdc local]# uname -a
Linux huangdc 2.6.32-431.11.25.el6.ucloud.x86_64 #1 SMP Tue Jul 19 10:06:12 EDT 2016 x86_64 x86_64 x86_64 GNU/Linux
|
可以看到,gcc的版本是 gcc-4.4.7 ,centos 6.5 ,x86_64
二、下载解压并手动编译安装gcc-4.8.5
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
|
# 下载gcc
wget ftp://ftp.gnu.org/gnu/gcc/gcc-4.8.5/gcc-4.8.5.tar.gz
# 解压并进入目录
tar zxf gcc-4.8.5.tar.gz
cd gcc-4.8.5
# 安装依赖三大件,会自动顺序安装gmp、mpfr、mpc
./contrib/download_prerequisites
# 回到上级,创建编译目录 gcc-4.8.5-build
cd ..
mkdir gcc-4.8.5-build
cd gcc-4.8.5-build
# 开始编译安装
../gcc-4.8.5/configure --prefix=/usr/local/gcc --enable-languages=c,c++ --build=x86_64-linux --disable-multilib
# 设置环境变量 LD_LIBRARY_PATH
LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib"
## make -j$(nproc)
make -j8
make install
|
编译安装说明以及注意
1、服务器是 x86_64 最好在configure阶段加上编译选项–build=x86_64-linux,避免找不到到文件之类的错误
2、–prefix 不覆盖原来的gcc,自定义编译安装路径
3、–enable-languages 编译出来的gcc支持的语言
4、LD_LIBRARY_PATH 环境变量很重要,如果不指定,make会出奇奇怪怪的错误,LD_LIBRARY_PATH用于在程序加载运行期间查找动态链接库时指定除了系统默认路径之外的其他路径
5、make -j8 指定线程个数,我这里是8线程cpu
三、配置环境变量PATH
|
1
2
3
|
在文件 ~/.bashrc 中添加下面一行
export PATH=/usr/local/gcc/bin:$PATH
保存后执行 source ~/.bashrc
|
四、检查最新版gcc
|
1
2
3
4
5
6
7
8
|
[root@huangdc local]# gcc -v
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/local/gcc/libexec/gcc/x86_64-linux/4.8.5/lto-wrapper
Target: x86_64-linux
Configured with: ../gcc-4.8.5/configure --prefix=/usr/local/gcc --enable-languages=c,c++ --build=x86_64-linux --disable-multilib
Thread model: posix
gcc version 4.8.5 (GCC)
|
reboot
大功完成!!
3、安装cmake
4、安装rabbit-c client
cmake -DCMAKE_INSTALL_PREFIX=/usr/local ..
cmake --build . --target install
5、安装boost
6、安装Doxygen
7、安装simpleAmqpCLient,
mkdir simpleamqpclient-build
cd simpleamqpclient-build
cmake ..
如果cmake提示rabbitmqc library找不到path,需要指定绝对路径
cmake -DRabbitmqc_INCLUDE_DIR=/usr/local/include -DRabbitmqc_LIBRARY=/usr/local/lib/x86_64-linux-gnu ..
linux c++ rabbitMq Demo的更多相关文章
- linux SPI bus demo hacking
/********************************************************************** * linux SPI bus demo hacking ...
- Linux 安装 RabbitMQ 3.7.8 安装部署
Linux 安装 rabbitmq 3.7.8 安装部署 安装 ncurses 1.安装GCC GCC-C++ Openssl等模块 yum -y install make gcc gcc-c++ k ...
- 服务器搭建--Linux安装rabbitmq
安装rabbitmq需要先安装erlang:安装erlang参考https://blog.csdn.net/ztx114/article/details/79912570 1.下载rabbitmq-s ...
- windows 和 Linux 安装rabbitmq
windows 安装 rabbitmq 1,安装erlang 点击进入官网下载:http://erlang.org/download/ 2.安装rabbitmq 点击进入官网下载:http://www ...
- Linux 安装rabbitmq 遇到的一些问题
Linux下防火墙开启相关端口及查看已开启端口 https://www.cnblogs.com/pizitai/p/6518987.htmlhttps://www.cnblogs.com/blog-y ...
- linux中RabbitMQ安装教程
linux中RabbitMQ安装教程 在做一个微服务项目时候用到消息队列,于是深入了解了消息队列知识,并在linux上安装了Rabbitmq,本博客介绍Rabbitmq的安装教程,想要深入了解消息队列 ...
- windows和linux安装rabbitmq
一.windows安装rabbitmq 1.安装erlang 点击进入官网下载:http://erlang.org/download/ 2.安装rabbitmq 点击进入官网下载:http://www ...
- Linux下RabbitMQ安装、运行与管理
Linux下RabbitMQ安装.运行与管理 安装erlang 安装参考官网 RabbitMQ的安装需要Erlang的基础环境,必须按照RabbitMQ Erlang版本要求进行安装. 关于Erlan ...
- Linux下 RabbitMQ的安装与配置-3
一 Erlang安装 1.RabbitMQ是基于Erlang的,所以首先必须配置Erlang环境. 从Erlang的官网http://www.erlang.org/download.html 下载最 ...
随机推荐
- go语言的排序、结构体排序
原文:https://studygolang.com/articles/1598 晚上准备动手写点 go 的程序的时候,想起 go 如何排序的问题.排序 sort 是个基本的操作,当然搜索 searc ...
- 分享知识-快乐自己:能使 Oracle 索引失效的六大限制条件
Oracle 索引的目标是避免全表扫描,提高查询效率,但有些时候却适得其反. 例如一张表中有上百万条数据,对某个字段加了索引,但是查询时性能并没有什么提高,这可能是 oracle 索引失效造成的.or ...
- N!含有多少个 2/5质因子
编程之美127页,N!中含有质因数2的个数 = [N/2] + [N/4] + [N/8] + [N/16] + ..... 要理解上式,先看 编程之美126页,N!中含有质因数5的个数Z 举例:N ...
- CocoaPods使用事项
本人整理转载自 :Code4App 原创文章.转载请注明出处:http://code4app.com/article/cocoapods-install-usage 1CocoaPods是什么? 当你 ...
- 【转载】Git,Github和Gitlab简介和基本使用Gitlab安装和使用
http://blog.csdn.net/u011241606/article/details/51471367
- Django的 CBV和FBV
FBV CBV 回顾多重继承和Mixin 回到顶部 FBV FBV(function base views) 就是在视图里使用函数处理请求. 在之前django的学习中,我们一直使用的是这种方式,所以 ...
- 201621123003《Java程序设计》第一周学习总结
#1. 本周学习总结 本周主要学习了Java的jdk.jvm.jre等基本概念,Java的发展史,知道Java语言的跨平台.面向对象等主要特点,简单了解了Java程序的编译和运行过程.对于学习Java ...
- switch遇到0的问题
你是否经常有switch来代替if else?是否因为使用了switch,提高代码的执行效率而庆幸?好吧,你和我一样,但也许你没有遇到下面的问题. 这个小程序,会输出什么呢?会是'00'么? 结果 ...
- 【SQL查询】合并多个数据集_union
SQL UNION 操作符 UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列.列也必须拥有相似的数据类型.同时,每 ...
- mac和linux下使用Docker,部署SpringBoot项目到docker
主要是看一下如何在linux及mac上安装docker,创建docker镜像,部署SpringBoot项目到docker,并借助于DaoCloud进行docker镜像下载加速等. 我用的电脑是mac, ...