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,如需转载请自行联系原作者
相关文章
|
23天前
|
人工智能 机器人 C++
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
【C++/Python】Windows用Swig实现C++调用Python(史上最简单详细,80岁看了都会操作)
|
23天前
|
人工智能 机器人 编译器
【C++】Windows端VS code中运行CMake工程(手把手教学)
【C++】Windows端VS code中运行CMake工程(手把手教学)
|
29天前
|
关系型数据库 数据库 C++
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
【C++】Windows使用Visual Studio C++链接云数据库PostgreSQL(沉浸式老爷教学)
|
2月前
|
安全 程序员 编译器
【C/C++ 泛型编程 进阶篇 Type traits 】C++类型特征探究:编译时类型判断的艺术
【C/C++ 泛型编程 进阶篇 Type traits 】C++类型特征探究:编译时类型判断的艺术
176 1
|
2月前
|
编译器 C++
【C++练级之路】【Lv.11】模板(你真的了解模板特化和分离编译吗?)
【C++练级之路】【Lv.11】模板(你真的了解模板特化和分离编译吗?)
|
3天前
|
运维 Serverless Go
Serverless 应用引擎产品使用之在阿里云函数计算中c++模板,将编译好的C++程序放进去部署如何解决
阿里云Serverless 应用引擎(SAE)提供了完整的微服务应用生命周期管理能力,包括应用部署、服务治理、开发运维、资源管理等功能,并通过扩展功能支持多环境管理、API Gateway、事件驱动等高级应用场景,帮助企业快速构建、部署、运维和扩展微服务架构,实现Serverless化的应用部署与运维模式。以下是对SAE产品使用合集的概述,包括应用管理、服务治理、开发运维、资源管理等方面。
9 1
|
7天前
|
存储 IDE 编译器
C++从入门到精通:1.3.1了解IDE与C++程序的编写、编译和运行
C++从入门到精通:1.3.1了解IDE与C++程序的编写、编译和运行
|
16天前
|
编译器 C++
如何判断一段程序是由 C 编译程序还是由 C++ 编译程序编译的?
如何判断一段程序是由 C 编译程序还是由 C++ 编译程序编译的?
|
19天前
|
存储 编译器 Linux
【C++初阶(十)】C++模板(进阶) ---非类型模板参数、模板的特化以及模板的分离编译
【C++初阶(十)】C++模板(进阶) ---非类型模板参数、模板的特化以及模板的分离编译
21 0
|
22天前
|
编译器 C语言 C++
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程
VSCode上搭建C/C++开发环境(vscode配置c/c++环境)Windows系统---保姆级教程