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版本不會出現這個問題,不影響解決方案的生成


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章