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 下载最 ...
随机推荐
- MapReduce程序——WordCount(Windows_Eclipse + Ubuntu14.04_Hadoop2.9.0)
本文主要参考<Hadoop应用开发技术详解(作者:刘刚)> 一.工作环境 Windows7: Eclipse + JDK1.8.0 Ubuntu14.04:Hadoop2.9.0 二.准备 ...
- linux上安装mysql以后root不能登录的解决办法
今天心血来潮在linux上装了mysql,装完以后用命令mysql -uroot -p登录时提示 解决办法: 使用ps aux|grep mysql 查出pid 使用kill pid结束mysql进程 ...
- 【OpenGL ES】关于VBO(Vertex Buffer Object)的一些坑——解析一些关于glBuffer的函数
最近在写毕设的时候用到OpenGL ES中的VBO,由于对一些接口用到的变量不了解被坑得很惨,在此记录一下防止以后再被坑. 本文为大便一箩筐的原创内容,转载请注明出处,谢谢:http://www.cn ...
- is(':visible')
.end()为结束前面处理函数,返回到最初的元素 .next()为此元素的下一个元素,可以再加上.next()表示下下一个元素,以此类推 :visible 选择器选取每个当前是可见的元素.语法:$(& ...
- Java堆、栈和常量池以及相关String的详细讲解(转)
一:在JAVA中,有六个不同的地方可以存储数据: 1. 寄存器(register). 这是最快的存储区,因为它位于不同于其他存储区的地方——处理器内部.但是寄存器的数量极其有限,所以寄存器由编译器根据 ...
- 条款11:记得在operator=中处理自赋值的情况。
本来的版本是这样的: Widget & Widget::operator=(Widget rhs) { delete pb;//这里可能直接将rhs的pb删除了 pb = new (*rhs. ...
- Node.js 问题集合
使用node合并多个接口, 最后获取数据慢的问题 暂时没解决方法 pm2 访问 ip 记录到日志 ...
- (二)Vue常用7个属性
学习vue我们必须之到它的7个属性,8个 方法,以及7个指令.787原则 el属性 用来指示vue编译器从什么地方开始解析 vue的语法,可以说是一个占位符. data属性 用来组织从view中抽象出 ...
- python学习之控制语句
#if statement number=int(input("please input a number")); if number<10 : print("is ...
- Python之json文件
{ "people":[ { "firstName": "Brett", "lastName":"McLaug ...