Installing Qpid/C++ on Windows ============================== Table of Contents ================= 1. Introduction 2. Prerequisites 2.1. What to Install 2.2. Important Environment Variable Settings 3. Building from a Source Distribution 4. Building a Repository Working Copy 5. Tests 6. Doxygen 7. Troubleshooting 1. Introduction =============== Note that the daemon and client API can be built and installed separately. They both link against a common library. This document describes how to build the Qpid/C++ broker and client, either from a checkout of the source or from a source distribution, on Windows using Microsoft Visual Studio 2008 (VC9). Please see INSTALL for information on building on Linux/UNIX. 2. Prerequisites ================ We prefer to avoid spending time accommodating older versions of these packages, so please make sure that you have the latest stable versions. Known version numbers for a succesful build are given in brackets, take these as a recommended minimum version. 2.1. What to Install ==================== The following libraries and header files must be installed to build a source distribution: * boost (1.35)(*) (*) earlier versions of boost e.g. 1.33 also work If you want to build directly from the SVN repository you will need all of the above plus: * python (2.5.2) * ruby (1.8.4) 2.2. Important Environment Variable Settings ============================================ Ensure that all the build tools are available on your path, when they are manually installed to non-standard locations. For example: # set PATH=C:\python25;%PATH% It is also necessary to set BOOST_ROOT to refer to the base of your Boost installation. The Visual Studio build projects refer to it. For example: # set BOOST_ROOT=C:\Program Files\boost\boost_1_35_0 3. Building from a Source Distribution ====================================== The Qpid client/broker, examples, and tests are built with separate Visual Studio solution files. The procedure for all three is the same. Start the Visual Studio IDE and open the desired solution. They are located under the distribution directory in the following places: - broker/client: src/qpid.sln - examples: src/examples/examples.sln - tests: src/tests/tests.sln Open the desired solution, select Debug/Release, and build. You can build both Release and Debug in the same directory. How to easily test???? 4. Building a Repository Working Copy ===================================== To get the source code from the subversion repository (trunk) do: # svn checkout https://svn.apache.org/repos/asf/incubator/qpid/trunk/. A large portion of the source code is generated using some contained scripts. The generated code is included in source distributions; however, when building a repository working copy this code must be generated. To generate the code and build a fresh checkout: Open a Visual Studio Command Prompt window cd to the qpid\cpp\src directory nmake /f protocol_gen.mak Now follow instruction for building from a source distribution in step (3). 5. Tests ======== See src/tests/README for details. 6. Doxygen ========== Doxygen generates documentation in several formats from source code using special comments. You can use javadoc style comments if you know javadoc, if you don't or want to know the fully story on doxygen markup see http://www.stack.nl/~dimitri/doxygen/ Even even if the code is completely uncommented, doxygen generates UML-esque dependency diagrams that are ''extremely'' useful in navigating around the code, especially for newcomers. There's no Windows script for generating the Doxygen documentation. You can either obtain the documentation in a source distribution or, if you are using a repository working copy, you will need to generate it on Linux. To try it out "make doxygen" then open doxygen/html/index.html. 7. Troubleshooting ================== There are currently two JIRAs open against Windows.