visual studio2022,开发CMake项目添加rabbitmq库,连接到远程计算机并进行开发于调试

1.打开visual studio installer 。安装“用于 Windows 的 C++ CMake 工具”
在这里插入图片描述
2.新建CMake项目
在这里插入图片描述
3.点击VS的“工具”—>"选项“—>“跨平台”—>”连接管理器“,添加远程计算机。用来将VS编辑的代码传到服务器进行编译–连接—运行(调试)。
在这里插入图片描述
3.1 windows上同步开发的类库
在这里插入图片描述

4.连接到Linux系统,设置适用于跨平台 C++ 开发的 Linux 计算机
在 Linux 计算机上需要这些工具:C++ 编译器、gdb、ssh、rsync、make 和 zip,在基于 Debian 的系统上,可以使用此命令安装这些依赖项:

sudo apt install -y openssh-server build-essential gdb rsync make zip

5.安装最新版CMake,这个是由于编译Rabbitmq需要的,参考此篇:https://blog.csdn.net/weixin_41432198/article/details/138124367

6.直接从 apt 安装rabbitmq-c库

sudo apt-get install librabbitmq-dev

7.在Linux 中 构建SimpleAmqpClient,完成后文件被存放到这里了:/usr/local/lib/ 。

git clone https://github.com/alanxz/SimpleAmqpClient.git
mkdir simpleamqpclient-build
cd simpleamqpclient-build
cmake ..
make 
make install 

8.编辑CMakeLists.txt文件,添加依赖进来,在最后面添加如下:

# 找到rabbitmq-c库
find_package(rabbitmq-c REQUIRED)
# 链接rabbitmq-c库
target_link_libraries(${PROJECT_NAME} rabbitmq)# 手动指定SimpleAmqpClient头文件路径
include_directories("/usr/local/lib")# 手动指定库文件路径
link_directories("/usr/local/lib")# 链接SimpleAmqpClient库target_link_libraries(${PROJECT_NAME} "/usr/local/lib/libSimpleAmqpClient.so")

9.在代码中添加头文件并引用:

#include "WorkerService_Linux.h"
#include <SimpleAmqpClient/SimpleAmqpClient.h>using namespace std;int main()
{// 创建到RabbitMQ服务器的连接AmqpClient::Channel::ptr_t channel = AmqpClient::Channel::Create("localhost");// 定义队列std::string queue_name = channel->DeclareQueue("demo_queue"); // 发送消息std::string message = "Hello RabbitMQ!";channel->BasicPublish("", queue_name, AmqpClient::BasicMessage::Create(message));cout << "Hello CMake222." << endl;return 0;
} 

这时就可以在VS中任意打断点了,如下。

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/4273.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java中的泛型(三)——通配符

在前面的文章中我们简要介绍了泛型的概念以及泛型类和泛型方法的使用。在介绍泛型时我们说过在在java中一般用E、T、K、V、N、?这几个字母和符号来表示泛型&#xff0c;对于前面的几个字符它们的使用没有区别&#xff0c;只要注意它们所代表的类型就好。而对于最后一个&#x…

优化大型语言模型交互:提升查询和提示效果的26条原则

推荐下arxiv挂的一个提示词教程&#xff1a; https://github.com/VILA-Lab/ATLAS https://arxiv.org/abs/2312.16171 它提出了一套26条指导原则&#xff0c;改善和优化与大型语言模型&#xff08;LLMs&#xff09;的交互过程。通过这些原则&#xff0c;旨在简化对LLMs的查询和…

E4980A是德科技E4980A精密LCR表

181/2461/8938产品概述&#xff1a; Keysight E4980A 精密 LCR 表为各种元件测量提供了精度、速度和多功能性的最佳组合。E4980A 在低阻抗和高阻抗范围内提供快速测量速度和出色的性能&#xff0c;是元件和材料的一般研发和制造测试的终极工具。LAN、USB 和 GPIB PC 连接可提高…

【氮化镓】p-GaN HEMTs空穴陷阱低温冻结效应

这篇文章是关于低温条件下p-GaN高电子迁移率晶体管&#xff08;HEMTs&#xff09;栅极漏电的研究。文章通过电容深能级瞬态谱&#xff08;C-DLTS&#xff09;测试和理论模型分析&#xff0c;探讨了空穴陷阱对栅极漏电电流的影响。以下是对文章的总结&#xff1a; 摘要&#xf…

本地认证的密码去哪了?怎么保证安全的?

1. windows登录的明文密码&#xff0c;存储过程是怎么样的&#xff1f;密文存在哪个文件下?该文件是否可以打开&#xff0c;并且查看到密文&#xff1f; 系统将输入的明文密码通过hash算法转为哈希值&#xff0c;且输入的值会在内存中立即删除无法查看。 然后将密文存放在C:…

基于Spring Boot的火车订票管理系统设计与实现

基于Spring Boot的火车订票管理系统设计与实现 开发语言&#xff1a;Java框架&#xff1a;springbootJDK版本&#xff1a;JDK1.8数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/idea 系统部分展示 前台首页功能界面图&#xff0c;在系统首页可以查看…

ROS机器人小车建模仿真与SLAM(5)

目录 一、ROS中使用摄像头 1.1 验证摄像头设备可用 1.2 安装cheese 1.3 测试 二、获取摄像头驱动包 2.1 usb_cam 2.1.1 rosrun方式运行 2.1.2 roslaunch方式运行 三、摄像头标定(camera calibration) 3.2 标定前准备 3.2.1 标定板 3.2.2 摄像头调焦 3.3 标定摄像头…

MySQL__索引

文章目录 &#x1f60a; 作者&#xff1a;Lion J &#x1f496; 主页&#xff1a; https://blog.csdn.net/weixin_69252724 &#x1f389; 主题&#xff1a; MySQL__索引&#xff09; ⏱️ 创作时间&#xff1a;2024年04月23日 ———————————————— 这里写目…

avl excite python二次开发1--python解释器需用内置解释器aws_cmd

avl excite python二次开发1--python解释器需用内置解释器aws_cmd 1、python解释器问题1.1、用外置python解释器&#xff0c;import WSInterface会失败(WSInterface.pyd)1.2、用内置解释器aws_cmd运行py脚本1.3 用内置解释器aws_python执行脚本三级目录 1、python解释器问题 1…

Python_AI库 Pandas的数据结构及基本操作

Python_AI库 Pandas的数据结构及基本操作 本文默认读者具备以下技能&#xff1a; 熟悉python基础知识&#xff0c;vscode或其它编辑工具 熟悉表格文件的基本操作 具备自主扩展学习能力 本文篇幅较长&#xff0c;但比较重要&#xff0c;希望读者可以认真看完并实例运行。 Pa…

Hugging Face 新开源Parler-TTS,高质量文本转语音模型,可自主训练定制声音,训练代码、模型、数据集全部公开

前言 Parler-TTS 是大名鼎鼎的huggingface推出的一款轻量级文本到语音&#xff08;TTS&#xff09;模型&#xff0c;它能够生成高质量、自然流畅的语音&#xff0c;并且能够模仿特定说话者的风格&#xff0c;包括性别、音高、说话风格等。这款模型是由Dan Lyth和Simon King创建…

【机器学习原理】决策树从原理到实践

基于树的模型是机器学习中非常重要的一类模型&#xff0c;最基础的就是决策树&#xff0c;本篇主要讲述决策树的原理和几类最常见的决策树算法&#xff0c;这也是更复杂的树模型算法的基础。 参考文章&#xff1a; 1.CSDN-基于熵的两个模型(ID3,C4.5)比较详细&#xff0c;有数字…

PotatoPie 4.0 实验教程(22) —— FPGA实现摄像头图像对数(log)变换

什么是图像的log变换&#xff1f; 总的来说&#xff0c;对数变换是一种常用的图像增强技术&#xff0c;可以改善图像的视觉质量、减少噪声以及突出图像中的细节&#xff0c;从而提高图像在视觉感知和分析中的效果和可用性。 图像的对数变换&#xff08;log transformation&am…

【Linux命令行艺术】1. 初见命令行

&#x1f4da;博客主页&#xff1a;爱敲代码的小杨. ✨专栏&#xff1a;《Java SE语法》 | 《数据结构与算法》 | 《C生万物》 |《MySQL探索之旅》 |《Web世界探险家》 ❤️感谢大家点赞&#x1f44d;&#x1f3fb;收藏⭐评论✍&#x1f3fb;&#xff0c;您的三连就是我持续更…

Anti Rookit -- 检测隐藏进程

Anti Rookit 一&#xff1a;检测隐藏进程 引言 检测隐藏进程除了众所周知的枚举进程ID之外&#xff0c;还有枚举句柄表的方式。不过今天给大家带来的是第三种方法。 探究 应用层通过接口 C r e a t e P r o c e s s \textcolor{cornflowerblue}{CreateProcess} CreateProcess…

【Linux系统编程】26.信号、kill、alarm、setitimer

目录 信号 信号共性 信号特质 产生信号 信号相关概念 默认处理动作 信号4要素 常规信号 ​编辑 注意 kill 参数pid 测试代码1 测试结果 测试代码2 测试结果 alarm 参数seconds 返回值 取消闹钟 测试代码3 测试结果1 测试结果2 ​编辑 setitimer 参数…

BIO、NIO与AIO

一 BIO 同步并阻塞(传统阻塞型)&#xff0c;服务器实现模式为一个连接一个线程&#xff0c;即客户端有连接请求时服务器端就需要启动一个线程进行处理. BIO&#xff08;Blocking I/O&#xff0c;阻塞I/O&#xff09;模式是一种网络编程中的I/O处理模式。在BIO模式中&#xf…

物联网实战--平台篇之(一)架构设计

本项目的交流QQ群:701889554 物联网实战--入门篇https://blog.csdn.net/ypp240124016/category_12609773.html 物联网实战--驱动篇https://blog.csdn.net/ypp240124016/category_12631333.html 一、平台简介 物联网平台这个概念比较宽&#xff0c;大致可以分为两大类&#x…

网络攻击日益猖獗,安全防护刻不容缓

“正在排队登录”、“账号登录异常”、“断线重连”......伴随着社交软件用户的一声声抱怨&#xff0c;某知名社交软件的服务器在更新上线2小时后&#xff0c;遭遇DDoS攻击&#xff0c;导致用户无法正常登录。在紧急维护几小时后&#xff0c;这款软件才恢复正常登录的情况。 这…

有哪些好用电脑端时间定时软件?桌面日程安排软件推荐 桌面备忘录

随着现代生活节奏的加快&#xff0c;人们对于时间管理和任务提醒的需求越来越大。为了满足这一需求&#xff0c;市场上涌现出了众多桌面便签备忘录软件&#xff0c;它们不仅可以帮助我们记录待办事项&#xff0c;还能定时提醒我们完成任务。在这篇文章中&#xff0c;我将为大家…