logging-log4cxx-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Curt Arnold <carn...@apache.org>
Subject Re: Building log4cxx with VC8 using runtime library /MT
Date Fri, 21 Mar 2008 04:42:08 GMT

On Mar 20, 2008, at 3:50 AM, Andreas Grob wrote:

> Hi,
>
> Failed finding an option for ant to do it directly I did it hand  
> made using the
> build-projects-vc8 option.
>
> For the libs apr, aprutil and log4cxx I open the properties dialog  
> and changed
> the runtime library option to /MT (or /MTd for the debug lib).

I've added an option to select the static C RTL as bug https://issues.apache.org/jira/browse/LOGCXX-254

.  To build a static log4cxx library which uses the static  
multithreaded C RTL use:

ant -Dlib.type=static -Druntime=static -Dfind=false

A dynamic log4cxx library which uses the static C RTL is unsafe since  
the API passes STL strings over the DLL boundary which can easily  
result in strings being allocated by one C RTL and freed by another.   
The unit tests will fail quickly with heap corruption assertions or  
access violations.


>
> Building apr and aprutil works well. But log4cxx didn't link because  
> there are
> missing dependencies. Well, not a big deal I had to add apr.lib and  
> aprutil.lib
> to the additional dependencies option.
>
>
> should this not already be done by ant -Dbuild-projects-vc8?
>

Unfortunately, the Microsoft Visual Studio.NET and later solution file  
(.sln) format is not obvious and cpptasks does not generate it like  
the VC6 .dsw file.  I believe that I had some luck with a combination  
of a .dsw and .vcproj's, but since I wasn't planning on providing VC7  
or later project files with the log4cxx 0.10.0 release, I didn't  
explore further.  It looks like there is an analysis of the format at http://www.ondotnet.com/pub/a/dotnet/excerpt/vshacks_chap1/index.html?page=4

.
>
> I'm looking forward for log4cxx release 0.10.0! :-)
>

RC3 hopefully on Monday.

Mime
View raw message