From: Frederic Bouvier
Sent: Tuesday, April 27, 2010 10:09 AM
To: FlightGear developers discussions
Subject: Re: [Flightgear-devel] can't launch flghtgear when openscenegraph iscompiled in release

----- "Alan Teeder" a écrit :
>
>
> From: Ingels David
Sent: Tuesday, April 27, 2010 12:18 AM
To: flightgear-devel@lists.sourceforge.net
Subject: [Flightgear-devel] can't launch flghtgear when openscenegraph iscompiled in release

>
>

I can't launch flghtgear when openscenegraph is compiled in release there is a bug with the linking  to zlib.dll

 

I dont understand why

 

Error is

 

‘Ordinal 55 not found on zlib.dll’

 

it seems to be a linking problem with zlib.dll

 

Its only when i compil openscenegraph on other version than debug (release ect...)

 

Help !

 

David ingels

I also had zlib.dll problems. These went away when I re-ordered my PATH environment to ensure that the version of zlib.dll that I wanted was nearer the top. Many programs install their own version of zlib.
 
Depends.exe is the tool you need to find out which dll´´s fgfs (or any other progarm) will actually load at run-time. http://www.dependencywalker.com/ (it is free and recommended by Microsoft at http://technet.microsoft.com/en-us/library/cc738370%28WS.10%29.aspx)
 

It only happens in release mode because the debug build link to zlibd.lib/dll and it is most likely that the only one in the system is the one located in the 3rdparty directory.
zlib.dll and other Open Source libraries are often used even by commercial products and there should be one with a different version elsewhere, possibly in c:\windows\system32

-Fred

OpenSceneGraph (source or SVN version) has its own set of third party files. In the OpenSceneGraph/3rdpart/bin directory there is both zlib1.dll and zlib1d.dll, and in the 3rdparty/lib directory are the equivalent .lib files.
 
On my system I have used the OPenSceneGraph 3rdparty files as the basis for my FlightGear build.
 
Also be aware that zlib.lib is probably not the one you need, for dll builds you should use zlib1. I have copied zlib.lib into my 3rd party directory as both zlib1.lib and zlib.lib for this reason. (see http://www.zlib.net/DLL_FAQ.txt).
 
Alan