I forgot to say I'm using the gcc3.1 from MinGW. I replaced the libobjc.a
file in the gcc path with the GNUstep one I compiled as per the README.MinGW
instructions.
I note that libgnustep-base.def file in the GNUstep distribution contains
`__objc_class_name_NXConstantString' as a required DLL export - is this what
is causing the problem?
On Tuesday 23 Jul 2002 15:31, Adam Fedor wrote:
What gcc version are you using? In 3.x, NXConstantString is replaced
internally (in GNUstep) by NSConstantString. If it's looking for
NXConstantString it probably indicates a problem in the configuration,
or perhaps there is an old version of the libobjc library laying around
(from a previous gcc or GNUstep installation).
Paul Butcher wrote:
As per a previous mailing I am trying to carefully follow the
instructions in README.MinGW on building GNUstep under MinGW/msys for
win32.
I have got through to building GNUstep-base now and get this error
message at the final linking of the gnustep-base DLL:
gnustep-base.exp(.edata+0x7a8):fake: undefined reference to
`__objc_class_name_NXConstantString'
f:\mingw\bin\dllwrap.exe: gcc exited with status 1
make[2]: *** [shared_obj/ix86/mingw32/gnu-gnu-gnu/gnustep-base.dll] Error
1 make[1]: *** [libgnustep-base.all.library.variables] Error 2
make[1]: Leaving directory `/tmp/gnustep-base-1.3.4/Source'
make: *** [internal-all] Error 2
As I understand it, NXConstantString is excluded from the GNUstep objc
library and reimiplemented in GSString.m. If I use objdump to look at
symbols defined in GSString.o I find that NXConstantString is not there -
but instead NSConstantString. I am puzzled how a class implemented in
the source code does not appear in the compiled code??
Paul Butcher
Alton, Hants, UK