views:

248

answers:

1

After installing Xerces-C++ (XML library):

./configure --disable-shared
./make
./make-install
ldconfig

And writing the simple program (xmlval.cpp):

#include <stdio>
#include <xercesc/dom/DOM.hpp>

int main()
{
    std::cout << "HI" << std::endl;
}

And compiling:

/usr/bin/g++ -L/usr/local/lib -I/usr/local/include -o xmlval xmlval.cpp /usr/local/lib/libxerces-c.a

The compile result is a bunch of lines like:

/usr/local/lib/libxerces-c.a(CurlNetAccessor.o): In function `xercesc_3_0::CurlNetAccessor::cleanupCurl()':
/home/stullbd/xerces-c-3.0.1/src/xercesc/util/NetAccessors/Curl/CurlNetAccessor.cpp:78: undefined reference to `curl_global_cleanup'
/usr/local/lib/libxerces-c.a(CurlNetAccessor.o): In function `xercesc_3_0::CurlNetAccessor::initCurl()':
/home/stullbd/xerces-c-3.0.1/src/xercesc/util/NetAccessors/Curl/CurlNetAccessor.cpp:70: undefined reference to `curl_global_init'
/usr/local/lib/libxerces-c.a(CurlURLInputStream.o): In function `~CurlURLInputStream':
/home/stullbd/xerces-c-3.0.1/src/xercesc/util/NetAccessors/Curl/CurlURLInputStream.cpp:168: undefined reference to `curl_multi_remove_handle'

Any thoughts on this?

+3  A: 

You seem to miss linking with curl, try adding -lcurl.

Michal Čihař
thanks that fixed it...