XMLRPC++ is a great library but doesn't build with VS2008 out of the box. Build instructions are simple. Here is what I did to get it to work:
1) Unzip source.
2) Open the .dsw file with VS2008. Do *not* open the .sln or .vcproj files. When VS2008 asks you if you want to open corresponding .vcproj files instead, always answer "No". The reason is because XMLRPC++'s VS2005 vcproj files contain some directives that confuse the VS2008 project migration tool. While it's possible to fix the vcproj files by hand, it's far easier easier just to open the old dsw file instead.
3) In the project properties for the 'xmlrpc' project, expand C/C++ -> Preprocessor and add "_CRT_SECURE_NO_WARNINGS" to the end of the Preprocessor Definitions list for both the Release and the Debug modes. This will silence all the _sprintf() related compiler warnings (this step is optional if you don't care about the warnings).
4) In XmlRpcSocket.cpp add the following two definitions after #define ETIMEDOUT at the top of the file:
5) Build! Both the Debug and Release configurations should build with no problems and produce the .lib files.
While you are messing with project properties, you may also wish to rename the output library for Debug mode to something like "xmlrpcd.lib". This way you, if you copy your .lib files to some other location, both the Debug and Release versions can coexist in the same path.
Jason
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
XMLRPC++ is a great library but doesn't build with VS2008 out of the box. Build instructions are simple. Here is what I did to get it to work:
1) Unzip source.
2) Open the .dsw file with VS2008. Do *not* open the .sln or .vcproj files. When VS2008 asks you if you want to open corresponding .vcproj files instead, always answer "No". The reason is because XMLRPC++'s VS2005 vcproj files contain some directives that confuse the VS2008 project migration tool. While it's possible to fix the vcproj files by hand, it's far easier easier just to open the old dsw file instead.
3) In the project properties for the 'xmlrpc' project, expand C/C++ -> Preprocessor and add "_CRT_SECURE_NO_WARNINGS" to the end of the Preprocessor Definitions list for both the Release and the Debug modes. This will silence all the _sprintf() related compiler warnings (this step is optional if you don't care about the warnings).
4) In XmlRpcSocket.cpp add the following two definitions after #define ETIMEDOUT at the top of the file:
# define EAGAIN WSAEWOULDBLOCK
# define EINTR WSAEINTR
5) Build! Both the Debug and Release configurations should build with no problems and produce the .lib files.
While you are messing with project properties, you may also wish to rename the output library for Debug mode to something like "xmlrpcd.lib". This way you, if you copy your .lib files to some other location, both the Debug and Release versions can coexist in the same path.
Jason
Thanks for this howto
Good one. It works.
Thanks