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.

Nonetheless, 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. And don't waste your time on anything before Release 1.13; much Windows work went into 1.13.

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) and some instructions for building.

We have seen Release 1.13 work out of the box in several Windows environments. It has worked with Microsoft Visual C++ Version 7 and 8 but does not compile with Version 6.

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. 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.