> Can someone research this and figure out what the proper solution for
> this is? Seems we are going around in circles if we keep
> adding/removing DLLIMPORT.
I believe that the attached patch is the correct solution -- I apologize
for the gyrations. With the attached patch, Cygwin libpq++ builds
cleanly again. The root cause was that DLLIMPORT was defaulting to
__declspec(dllimport) since BUILDING_DLL was *not* defined when building
the libpq++ DLL.
Unfortunately, to test my patch requires changing the following makefile:
src/interfaces/libpq++/examples/Makefile
and the #includes in all of the *.cc to build against the source tree
instead of the following hardcoded installation directory structure:
/usr/local/pgsql
I was able to manually build
src/interfaces/libpq++/examples/testlibpq0.exe
against my Cygwin libpq++ without errors. However, I have not tried to
actually test testlibpq0.exe.
Is this sufficient? Or, do you want me to clean up libpq++/examples too?
(Or, is it silly to even ask? :,)) Let me know how you want to proceed and
I will submit a patch to pgsql-patches.
Jason Tishler
-# $Header: /cvsroot/pgsql/src/makefiles/Attic/Makefile.win,v 1.14 2001/08/29 19:14:40 petere Exp $
+# $Header: /cvsroot/pgsql/src/makefiles/Attic/Makefile.win,v 1.15 2001/09/06 02:58:33 momjian Exp $
LDFLAGS+= -g
DLLTOOL= dlltool
DLLWRAP= dllwrap
override CPPFLAGS+= -DBUILDING_DLL=1
endif
+ifeq ($(findstring interfaces/libpq++,$(subdir)), interfaces/libpq++)
+override CPPFLAGS+= -DBUILDING_DLL=1
+endif
+
ifeq ($(findstring src/pl/plpython,$(subdir)), src/pl/plpython)
override CPPFLAGS+= -DUSE_DL_IMPORT
endif