The problem:
   Compile an exe without dependece on any dll ( eg: MSVCP80.DLL).
   Therefore I wanted to compile with option /MT and /MTd. But log4cxx
is compiled with /MD or /MDd to use a dll.
   The build output can be seen if you start ant with '-verbose'.
   So I got loads of linker errors.

The solution:
   Alter files:  apr-build.xml, aprutil-build.xml, build.xml.
   Add to those files in the compiler section the option: runtime="static".
   This changes the compiler option from /MD to /MT.
   Eg:
   --snip--
   <cc name="${compiler}"
               exceptions="true"
               outfile="${log4cxx.lib.dir}/log4cxx${lib-suffix}"
               subsystem="console"
               multithreaded="true"
               outtype="${lib.type}"
               objdir="${log4cxx.lib.dir}/log4cxx_obj"
               debug="${debug}"
               projectsOnly="${projectsOnly}"
               runtime="static">
       --snip--

   Define in Preprocessor Definitions in VS: LOG4CXX_STATIC
   Add Additional Dependencies in VS: log4cxxd.lib apr-1d.lib
aprutil-1d.lib wsock32.lib Ws2_32.lib

kind regards,
klaus dums

PS: I hope this saves someone hours.


Reply via email to