I have had the biggest problem adding xmlrpc++ to an existing project in VS 2003.  This is the error I kept getting:

-------------------------------------------------
Linking...
xmlrpc.lib(XmlRpcDispatch.obj) : error LNK2019: unresolved external symbol ___WSAFDIsSet@8 referenced in function "public: void __thiscall XmlRpc::XmlRpcDispatch::work(double)" (?work@XmlRpcDispatch@XmlRpc@@QAEXN@Z)
xmlrpc.lib(XmlRpcDispatch.obj) : error LNK2019: unresolved external symbol __imp__select@20 referenced in function "public: void __thiscall XmlRpc::XmlRpcDispatch::work(double)" (?work@XmlRpcDispatch@XmlRpc@@QAEXN@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__socket@12 referenced in function "public: static int __cdecl XmlRpc::XmlRpcSocket::socket(void)" (?socket@XmlRpcSocket@XmlRpc@@SAHXZ)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__WSAStartup@8 referenced in function "void __cdecl initWinSock(void)" (?initWinSock@@YAXXZ)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__closesocket@4 referenced in function "public: static void __cdecl XmlRpc::XmlRpcSocket::close(int)" (?close@XmlRpcSocket@XmlRpc@@SAXH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__ioctlsocket@12 referenced in function "public: static void __cdecl XmlRpc::XmlRpcSocket::close(int)" (?close@XmlRpcSocket@XmlRpc@@SAXH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__WSAAsyncSelect@16 referenced in function "public: static void __cdecl XmlRpc::XmlRpcSocket::close(int)" (?close@XmlRpcSocket@XmlRpc@@SAXH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__setsockopt@20 referenced in function "public: static void __cdecl XmlRpc::XmlRpcSocket::close(int)" (?close@XmlRpcSocket@XmlRpc@@SAXH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__bind@12 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::bind(int,int)" (?bind@XmlRpcSocket@XmlRpc@@SA_NHH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__htons@4 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::bind(int,int)" (?bind@XmlRpcSocket@XmlRpc@@SA_NHH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__htonl@4 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::bind(int,int)" (?bind@XmlRpcSocket@XmlRpc@@SA_NHH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__listen@8 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::listen(int,int)" (?listen@XmlRpcSocket@XmlRpc@@SA_NHH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__accept@12 referenced in function "public: static int __cdecl XmlRpc::XmlRpcSocket::accept(int)" (?accept@XmlRpcSocket@XmlRpc@@SAHH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__connect@12 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::connect(int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,int)" (?connect@XmlRpcSocket@XmlRpc@@SA_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__gethostbyname@4 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::connect(int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,int)" (?connect@XmlRpcSocket@XmlRpc@@SA_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@H@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__recv@16 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::nbRead(int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,bool *)" (?nbRead@XmlRpcSocket@XmlRpc@@SA_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PA_N@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__send@16 referenced in function "public: static bool __cdecl XmlRpc::XmlRpcSocket::nbWrite(int,class std::basic_string<char,struct std::char_traits<char>,class std::allocator<char> > &,int *)" (?nbWrite@XmlRpcSocket@XmlRpc@@SA_NHAAV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@PAH@Z)
xmlrpc.lib(XmlRpcSocket.obj) : error LNK2019: unresolved external symbol __imp__WSAGetLastError@0 referenced in function "public: static int __cdecl XmlRpc::XmlRpcSocket::getError(void)" (?getError@XmlRpcSocket@XmlRpc@@SAHXZ)
osgEarthd.exe : fatal error LNK1120: 18 unresolved externals

-------------------------------------------------

After way to many hours of trying to fiqure out what is wrong, I finally solved my problem by adding Ws2_32.lib to the project dependencies.

Hopefully this will save someone else a lot of time.

If anyone knows why this solutions worked, please let me know.

Best Regards
Nelson