[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Trying to compile gdl2 in MinGW
From: |
David Ayers |
Subject: |
Re: Trying to compile gdl2 in MinGW |
Date: |
Thu, 31 Jan 2008 16:28:19 +0100 |
User-agent: |
Mozilla-Thunderbird 2.0.0.9 (X11/20080110) |
Hello Tim,
Thanks for trying GDL2 and reporting you issues!
Tim Kack schrieb:
I have compiled and installed Postgresql 8.1 in MinGW to try to build GDL2.
I started from the recent windows installers to ensure that I have a
baseline.
The problem is that I cannot build EOControl clean:
First I hit something that could be a problem with GCC 3.4:
...
EODebug.m:345: warning: 'EOFLogDumpObject_' defined locally after being
referenced with dllimport linkage
Compiling file EOPrivate.m ...
EOPrivate.m:109: warning: 'GDL2_EONull' defined locally after being
referenced with dllimport linkage
EOPrivate.m:114: warning: 'GDL2_PrivateInit' defined locally after being
referenced with dllimport linkage
....
Has one seen this?
Sorry, I haven't tried building on Windows yet. I believe it has been
done before yet with a different version of -make and with a different
project type.
I'm assuming this is supposed to be handled by the EOControl/EODefines.h
declarations. But looking at -base and Renaissance I'm almost assume
that the handling is superfluous. I was going to ask you to build
Renaissance which I thought had the same project type (NATIVE_LIBRARY)
but it seems I'm wrong.
Possibly I need to replace the header declarations with
GDL2CONTROL_DECLARE and add GDL2CONTROL_EXPORT to the implementation files.
I also found this in the README.Cygwin of the -make package:
"2. Dynamic libraries mechanism is not so good. (Windows DLL). It does
not support several features (and this makes so hard to port some
software e.g. licq) And it has those ugly __declspec(dllexport) /
__declspec(dllimport) . But (Cygwin hackers are just cool!) in later
releases of binutils ld is capable to link wrongly declared exports!
This eliminates a lot of problems when dealing with DLLs (including
objc.dll and gnustep-*.dll)"
So it "might" work to #define GDL2CONTROL_EXPORT/GDL2CONTROL_DECLARE to
either the same values as without DLL:
(i.e.:
# define GDL2CONTROL_EXPORT extern
# define GDL2CONTROL_DECLARE
)
unconditionally. But I'm only taking pot shots here.
Second problem is a follow up on the first problem:
Linking library EOControl ...
obj/EOSortOrdering.o: In function `c_EOSortOrdering__initialize':
C:/GNUstep/home/tkack/dev-libs/gdl2/EOControl/EOSortOrdering.m:67: undefined
reference to `_imp__GDL2_PrivateInit'
obj/EOSortOrdering.o: In function `compareUsingSortOrderings':
C:/GNUstep/home/tkack/dev-libs/gdl2/EOControl/EOSortOrdering.m:209:
undefined reference to `_imp__GDL2_EONull'
C:/GNUstep/home/tkack/dev-libs/gdl2/EOControl/EOSortOrdering.m:210:
undefined reference to `_imp__GDL2_EONull'
...
Should I open up a bug on savannah?
Yes please! I'm not sure when I can setup a Qemu Windows Session to
test this correctly.
Cheers,
David
- Re: Trying to compile gdl2 in MinGW,
David Ayers <=