[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 |
Hi,
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 ...) !!!
Greetings
Helge