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 下载最 ...
随机推荐
- ImageView显示图像控件
ImageView显示图像控件 一.简介 1. 2. ImageView,图像视图,直接继承自View类,它的主要功能是用于显示图片,实际上它不仅仅可以用来显示图片,任何Drawable对象都可以使用 ...
- Visual对象——WPF
System.Object System.Windows.Threading.DispatcherObject System.Windows.Depende ...
- python函数语法学习
Python函数 定义函数 在Python中,定义一个函数用def语句,一次写出函数名.括号中的参数和冒号:,函数返回使用return语句. def myDef(x): if x >= 0: r ...
- 关于一些对location认识的误区(转)
转自:http://www.cnblogs.com/lidabo/p/4169396.html 1. location 的匹配顺序是“先匹配正则,再匹配普通”. 矫正: location 的匹配顺序其 ...
- Java连接DB2
package com.java.test.jdbc; import java.sql.Connection; import java.sql.DriverManager; import java.s ...
- mysql查询结果带上序号
select (@i:=@i+1) as rownum,t1.id ","from mega_user t1,(select @i:=0) t2 order by t1.gold ...
- 18-THREE.JS 基本材质
<!DOCTYPE html> <html> <head> <title></title> <script src="htt ...
- 【scala】匿名函数和闭包
函数的类型和值 Scala是一种纯面向对象的语言,每个值都是对象.Java是一种不全面向对象的语言. Scala也是一种函数式语言,其函数也能当成值来使用.Java则是指令试编程. 但是Scala同时 ...
- Node多进程相关
现状: 目前使用child_process.fork实现多进程,一个center.js负责任务分配及相关状态管理,一个worker.js负责任务执行. center.js结构: 1) 一个task_q ...
- $fn、$extends $fn.extends的用法,jquery的插件开发
原文链接:http://caibaojian.com/jquery-extend-and-jquery-fn-extend.html Query.fn.extend(); jQuery.extend( ...