0

I've build Log4cxx statically on OpenSuse 12.3, however when I attempt to build it in my Qt project it fails at link time. Depending on the order of apr, apr-util and log4cxx the error varies, however this is what I believe is some of the most relevant link errors if I build with this order unix:!macx:LIBS+=-L$$LOG4CXX_PATH/lib -lapr-1 -laprutil-1 -llog4cxx:

../../../External/Linux/static/log4cxx/lib/liblog4cxx.a(objectptr.o): In function `log4cxx::helpers::ObjectPtrBase::exchange(void**, void*)':

objectptr.cpp:(.text+0x124): undefined reference to apr_atomic_xchg32' ../../../External/Linux/static/log4cxx/lib/liblog4cxx.a(stringhelper.o): In functionlog4cxx::helpers::StringHelper::toInt64(std::string const&)': stringhelper.cpp:(.text+0x5d0): undefined reference to apr_atoi64' ../../../External/Linux/static/log4cxx/lib/liblog4cxx.a(pool.o): In functionlog4cxx::helpers::Pool::Pool()': pool.cpp:(.text+0x3a): undefined reference to apr_pool_create_ex' ../../../External/Linux/static/log4cxx/lib/liblog4cxx.a(pool.o): In functionlog4cxx::helpers::Pool::~Pool()': pool.cpp:(.text+0xfc): undefined reference to `apr_pool_destroy'

Lionel
  • 35
  • 7

1 Answers1

0

-lapr-1 -laprutil-1 -llog4cxx

This order of libraries is wrong. To understand why, read this.

Employed Russian
  • 199,314
  • 34
  • 295
  • 362