errcode redefinition - Mailing list pgsql-ports

From Andrew Vick
Subject errcode redefinition
Date
Msg-id 4491C692.9080401@remote-print.com
Whole thread Raw
Responses Re: errcode redefinition  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-ports
I am trying to build the Postgres drivers for Qt on Windows.  I am consistantly running into a problem where the
Postgresfunction "errcode" conflicts with a typedef of the stame name (typedef int errcode).  Has anyone else had this
problem? Has anyone solved this problem?  Is there a better list to post this to?   

According to the archives (http://archives.postgresql.org/pgsql-hackers/2006-05/msg01259.php), there is a patch applied
tothe 8.1 stable branch (http://archives.postgresql.org/pgsql-hackers/2006-05/msg01317.php) but compiling that branch
andbuilding with that does not fix the problem. 

Version information:
    Postgres 8.1, but I'd settle for any 7.x or 8.x
    I have successfully installed the 8.1 version (binaries for windows), and I have also successfully built the
postgreslibraries from CVS source (REL8_1_STABLE branch).   
    Visual Studio 2005, Standard edition
    Qt 3.3.6, Enterprise edition
    Windows XP 2002 SP2
    Cygwin

This appears to be specific to VS2005.  VS6 plays well with Postgres 7.4, and VS.NET 2002 plays well with Postgres 8.0

The error message:
        "C:\Program Files\Microsoft Visual Studio 8\VC\BIN\nmake.exe"
        cl -c -FIqt_pch.h -Yuqt_pch.h -Fptmp\obj\debug_mt_shared\qt-mt_pch.pch -nologo -Zm200 -wd4996 -W3 -w34100
-w34189-MDd -Zi  -EHsc -EHsc -GR -DQT_SHARED -DQT_THREAD_SUPPORT -DQT_ACCESSIBILITY_SUPPORT -DUNICODE -DWIN32
-DQT_MAKEDLL-DQT_THREAD_SUPPORT -DQT_NO_CUPS -DQT_NO_NIS -DQT_SQL_POSTGRES -DQT_NO_IMAGEIO_MNG -DQT_NO_STYLE_MAC
-DQT_NO_STYLE_AQUA-DQT_NO_STYLE_INTERLACE -DQT_NO_STYLE_WINDOWSXP -DQT_NO_STYLE_COMPACT -DQT_NO_STYLE_POCKETPC -DQT_DLL
-DQT_MAKEDLL-I"C:\Postgres\8.1\include" -I"C:\Postgres\8.1\include\server" -I"tmp" -I"3rdparty\libjpeg"
-I"3rdparty\libpng"-I"3rdparty\zlib" -I"C:\Qt\3.3.6\include" -I"." -I"tmp\moc\debug_mt_shared"
-I"C:\Qt\3.3.6\mkspecs\win32-msvc2005"-Fotmp\obj\debug_mt_shared\ @C:\DOCUME~1\DEVELO~1\LOCALS~1\Temp\nm30D.tmp 
qsql_psql.cpp
c:\postgres\8.1\include\server\utils/elog.h(105) : error C2365: 'errcode' : redefinition; previous definition was
'typedef'
        C:\Program Files\Microsoft Visual Studio 8\VC\INCLUDE\crtdefs.h(506) : see declaration of 'errcode'

There were also other problems with missing header files and "configure" oddities but I worked around these.

Any help would be greatly appreciated.

-Andrew Vick

pgsql-ports by date:

Previous
From: Tom Lane
Date:
Subject: Re: Horology Test Case Fails with Sun Compiler
Next
From: Tom Lane
Date:
Subject: Re: errcode redefinition