Qpid第一课 Windows编译C++/ Qpid Client

简介:

一 浏览编译文档

    INSTALL-WINDOWS.txt文档描述了Windows编译Qpid的操作步骤以及注意事项,当前采用的是Microsoft Visual Studio 2015(VC14)编译Qpid,文档指定的编译器是Microsoft Visual Studio 2012(VC11)


二编译依赖库

Qpid源码编译需要的原料:

 * boost      <http://www.boost.org>                    (1.58)

 * CMake      <http://www.cmake.org>                    (3.2)

 * python     <http://www.python.org>                   (2.7.10)

 * ruby       <http://www.ruby-lang.org>                (2.2.2)

当前使用的是boost_1_59_0版本,CMake3.10.0rc1版本


如下库是可选的,所以没有安装

 * swig       <http://www.swig.org>                     (2.0.10)

 * perl       <http://www.perl.HELPME>                  (1.2.3)

 * nunit      <http://www.nunit.HELPME>                 (2.5.8)

 * doxygen




三 默认选择生成的编译错误

选择创建BUILD_BINDING_DOTNET,出现如下的生成错误

Could NOT find SWIG (missing: SWIG_EXECUTABLE SWIG_DIR) 

Building Dotnet bindings

CMake Error at bindings/qpid/dotnet/CMakeLists.txt:197 (message):

  No DOTNET binding support available for Visual Studio 14 2015

由于没有安装SWIG软件库,导致VS2015缺乏DOTNET binding套件,因此需要在CMake的配置选项中剔除BUILD_BINDING_DOTNET


选择创建BUILD_AMQP,出现如下的生成错误

CMake Error at src/amqp.cmake:47 (message):

  Qpid proton not found, required for amqp 1.0 support

Call Stack (most recent call first):

  src/CMakeLists.txt:591 (include)

由于没有安装Qpid proton,因此需要在CMake的配置选项中剔除BUILD_AMQP


CMake Deprecation Warning at CMakeLists.txt:138 (cmake_policy):

  The OLD behavior for policy CMP0022 will be removed from a future version

  of CMake.


  The cmake-policies(7) manual explains that the OLD behaviors of all

  policies are deprecated and that a policy should be set to OLD only under

  specific short-term circumstances.  Projects should be ported to the NEW

  behavior and not rely on setting a policy to OLD.

编译提醒:OLD语言特性即将在下一个CMake版本剔除,CMake3.2版本不会出现这个问题,不影响解决方案的生成





     本文转自fengyuzaitu 51CTO博客,原文链接:http://blog.51cto.com/fengyuzaitu/2071727,如需转载请自行联系原作者
相关文章
|
1月前
|
NoSQL 网络协议 Linux
Redis的实现一:c、c++的网络通信编程技术,先实现server和client的通信
本文介绍了使用C/C++进行网络通信编程的基础知识,包括创建socket、设置套接字选项、绑定地址、监听连接以及循环接受和处理客户端请求的基本步骤。
50 6
|
21天前
|
自然语言处理 编译器 Linux
|
4月前
|
消息中间件 Java C语言
消息队列 MQ使用问题之在使用C++客户端和GBase的ESQL进行编译时出现core dump,该怎么办
消息队列(MQ)是一种用于异步通信和解耦的应用程序间消息传递的服务,广泛应用于分布式系统中。针对不同的MQ产品,如阿里云的RocketMQ、RabbitMQ等,它们在实现上述场景时可能会有不同的特性和优势,比如RocketMQ强调高吞吐量、低延迟和高可用性,适合大规模分布式系统;而RabbitMQ则以其灵活的路由规则和丰富的协议支持受到青睐。下面是一些常见的消息队列MQ产品的使用场景合集,这些场景涵盖了多种行业和业务需求。
|
26天前
|
自然语言处理 编译器 Linux
告别头文件,编译效率提升 42%!C++ Modules 实战解析 | 干货推荐
本文中,阿里云智能集团开发工程师李泽政以 Alinux 为操作环境,讲解模块相比传统头文件有哪些优势,并通过若干个例子,学习如何组织一个 C++ 模块工程并使用模块封装第三方库或是改造现有的项目。
|
1月前
|
存储 程序员 编译器
简述 C、C++程序编译的内存分配情况
在C和C++程序编译过程中,内存被划分为几个区域进行分配:代码区存储常量和执行指令;全局/静态变量区存放全局变量及静态变量;栈区管理函数参数、局部变量等;堆区则用于动态分配内存,由程序员控制释放,共同支撑着程序运行时的数据存储与处理需求。
111 21
|
1月前
|
Linux 编译器 C语言
Linux c/c++之多文档编译
这篇文章介绍了在Linux操作系统下使用gcc编译器进行C/C++多文件编译的方法和步骤。
40 0
Linux c/c++之多文档编译
|
1月前
|
算法 编译器 C++
【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
【C++篇】领略模板编程的进阶之美:参数巧思与编译的智慧
80 2
|
1月前
|
存储 监控 NoSQL
Redis的实现二: c、c++的网络通信编程技术,让服务器处理多个client
本文讨论了在C/C++中实现服务器处理多个客户端的技术,重点介绍了事件循环和非阻塞IO的概念,以及如何在Linux上使用epoll来高效地监控和管理多个文件描述符。
28 0
|
1月前
|
并行计算 开发工具 异构计算
在Windows平台使用源码编译和安装PyTorch3D指定版本
【10月更文挑战第6天】在 Windows 平台上,编译和安装指定版本的 PyTorch3D 需要先安装 Python、Visual Studio Build Tools 和 CUDA(如有需要),然后通过 Git 获取源码。建议创建虚拟环境以隔离依赖,并使用 `pip` 安装所需库。最后,在源码目录下运行 `python setup.py install` 进行编译和安装。完成后即可在 Python 中导入 PyTorch3D 使用。
198 0
|
3月前
|
监控 机器人 Unix
GoLand——windows下如何编译Linux二进制文件
GoLand——windows下如何编译Linux二进制文件
53 1
GoLand——windows下如何编译Linux二进制文件