XML-RPC for C and C++

A lightweight RPC library based on XML and HTTP.

Copyright 2001 Eric Kidd. All rights reserved. The contents of this website may be distributed under the same license terms as XML-RPC for C/C++. Funding for the initial releases of XML-RPC for C/C++ was provided in part by First Peer, Inc.

SourceForge Logo

XML-RPC For C/C++ On Windows

XML-RPC For C and C++ (Xmlrpc-c) is designed for Unix and is most tested on Unix.

There is also lots of code to make it work on Windows, but the fact is that it probably won't work out-of-the-box on your Windows system.

This is based on experience, which shows changes being made by Unix experts and tested on Unix systems but little testing and fixing done on Windows, and reports from Windows users that it doesn't work.

There are no known problem in any Windows environment in the current 1.39 and 1.43 releases (Super Stable and Stable series, respectively, as of this writing).

Starting with 1.28 (September 2011), you need Microsoft Visual Studio 2008 or newer (only because the project files that come with the code require that).

The project files build both 32 bit and 64 bit code starting with Xmlrpc-c 1.28. Before that, it is just 32 bit.

Where it doesn't work, in all likelihood it would take only a small amount of engineering effort for a Windows programmer to make Xmlrpc-c work on any given Windows system. If you do it, please consider contributing your work so others don't have to repeat it.

When it has worked before, it was without any kind of unix emulation. No POSIX emulation libraries, no unix build system. The source tree contains Microsoft Developer Studio project and workspace files (.dsp, .dsw, .vcproj, .sln) and some instructions for building.

Another approach which may be easier and definitely more portable across Windows systems is to use unix emulation. For example, Cygwin. In that mode, you use GNU tools to do the building, which should be fully automatic just as it is on a regular unix system. With a Cygwin build, the generated libraries and programs require the Cygwin DLL (cygwin1.dll) be installed on the system at run time. You may need a few other Cygwin DLLs as well. It is remarkably easy to install a Cygwin system sufficient to build Xmlrpc-c. And installing enough of it to run Xmlrpc-c is just a matter of copying a few files into place. People have also had some success with Mingw, though it probably still requires some modifications to the make files.

Older Releases

In 1.16 and 1.25, you need Microsoft Visual C++ Version 7 or newer. MSVC 6 does not know enough C/C++ to compile these. Starting with 1.28 (September 2011), you need Microsoft Visual Studio 2008 or newer (only because the project files that come with the code require that).

In 1.16, the provided project files build only static libraries. Starting with 1.25, there are project files that build DLLs, but you need VS 2008 for DLLs.