[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: is base compilable as a dll under win32

From: Helge Hess
Subject: Re: is base compilable as a dll under win32
Date: Sat, 19 May 2001 19:29:19 +0200


Gerard Iglesias wrote:
> I tried it, but even when I replace the libobjc at the location 
> /cygwin/mingw32/lib/gcc-lib/.../libobjc.a

Just delete this library. The 'real' one should be found in the correct
location (GNUSTEP_SYSTEM_ROOT/...).

> with the mine compiled with shred=yes(the one in the mingw distrib seems to 
> be static, how do we test this?),

I'm not sure whether an automated test exists. You can usually tell by
looking at the size, a import library is usually much smaller than a
static library ...

> then I use the gnustep-base compiled with shared=yes, then I compile the 
> example awake with WITH_DLL=yes BUILD_DLL=no, then when I run the example I 
> got the error : Can't find the class NSAutoreleasePool (something like that, 
> I am on my iMac at home).

Why do you use WITH_DLL/BUILD_DLL ? Those are flags *not* intended for
use on the shell, they are automatically set in the correct combination
if you use 'shared=yes'.

> 11/ change the GNUmakefile to set THREADING=win32 only

I never used THREADING=win32 but only THREADING=single.

> 13/ cp shared_obj/.../libobjc /mingw32/lib/gcc-lib/.../libobjc.a (I am forced 
> to do that, I tried the normal install but the linker was unable to open the 
> lib, I made by hand the ld --verbose command to understand why, but ???)

This is incorrect, if the GNUstep environment is properly sourced, the
linker find the lib. Otherwise your installation/setup is broken.

> 14 / cp shared_obj/.../objc.dll /mingw32/bin (to get the path to the dll in 
> the PATH var)

See 13, not required, the PATH should be properly setup/the DLL should
be properly copied.

> Repeat the make build to get the configuration take in account the threading 
> setting of my new libobjc

Maybe, don't know about threading.

> Then make the gnustep-base lib
> 15/ cd ../core/base
> 16/ ./configure --target=i686

I don't think that target is necessary. If so, you would need to specify
i686-pc-mingw32 or something like this. Maybe you are reconfiguring
against the Cygwin libobjc ?

> 19/ make WITH_DLL=yes BUILD_DLL=no awake

make shared=yes all

What is 'awake' ???

> 20/ run static_obj/..../awake.exe (At this point with my test I got the error 
> NSAutoreleasePool not found)

Clear sign that you *did not* compile shared. Just look at the path
(static_obj ...) !!!


reply via email to

[Prev in Thread] Current Thread [Next in Thread]