Re: Home dir changes have broken MSVC builds - Mailing list pgsql-hackers

From Andrew Dunstan
Subject Re: Home dir changes have broken MSVC builds
Date
Msg-id 41E19E46.6020104@dunslane.net
Whole thread Raw
In response to Re: Home dir changes have broken MSVC builds  ("Magnus Hagander" <mha@sollentuna.net>)
Responses Re: Home dir changes have broken MSVC builds
List pgsql-hackers

Magnus Hagander wrote:

>>The error appears to be on line that uses NEAR and complains about it 
>>... I see that the MinGW windef.h defines NEAR as empty, while 
>>the MSVC 
>>windef.h defines it as "near". Don't know if that makes a difference.
>>    
>>
>
>Some reading up on MSDN gives this:
>http://msdn.microsoft.com/library/default.asp?url=/library/en-us/vccore9
>8/html/_core_removing_near_and_far_type_declarations.asp
>
>>From what I can tell, NEAR is defined to near, which is then defined to
>blank in my windef.h (from the platform SDK included in VS2003)
>
>Could it be that we need to include windef.h explicitly, before we
>include this one? Worth a try.
>
>  
>

I tried but it didn't work. However, I made some progress with changing 
the section to look like this:

#ifdef WIN32
#include "win32.h"
#ifndef _WIN32_IE
#define _WIN32_IE 0x0400
#endif
#ifdef near
#undef near
#endif
#define near
#include <shlobj.h>
#else


Now the make produces this:

Microsoft (R) Program Maintenance Utility Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.
       cd include       if not exist pg_config.h copy pg_config.h.win32 pg_config.h       cd ..       cd
interfaces\libpq      nmake /f win32.mak
 

Microsoft (R) Program Maintenance Utility Version 7.10.3077
Copyright (C) Microsoft Corporation.  All rights reserved.

Building the Win32 static library...
       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1248.tmp
getaddrinfo.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1249.tmp
pgstrcasecmp.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm124A.tmp
thread.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm124B.tmp
inet_aton.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm124C.tmp
crypt.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm124D.tmp
noblock.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm124E.tmp
md5.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm124F.tmp
ip.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1250.tmp
wchar.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1251.tmp
encnames.c       cl.exe @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1252.tmp
win32.c
fe-auth.c
fe-protocol2.c
fe-protocol3.c
fe-connect.c
fe-exec.c
fe-lobj.c
fe-misc.c
fe-print.c
fe-secure.c
pqexpbuffer.c
pqsignal.c
pthread-win32.c       link.exe -lib @C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1253.tmp       cl.exe
@C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1254.tmp
libpqdll.c       rc.exe /l 0x409 /fo".\Release\libpq.res" libpq.rc       link.exe
@C:\DOCUME~1\adunstan\LOCALS~1\Temp\nm1255.tmp
libpqdll.def(3) : warning LNK4017: DESCRIPTION statement not supported 
for the target platform; ignored  Creating library .\Release\libpqdll.lib and object .\Release\libpqdll.exp
libpq.lib(fe-connect.obj) : error LNK2019: unresolved external symbol 
__imp__SHGetSpecialFolderPathA@16 referenced in function _pqGetHomeDirectory
.\Release\libpq.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: 'link.exe' : return code '0x460'
Stop.
NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual Studio 
.NET 2003\VC7\BIN\nmake.exe"' : return code '0x2'
Stop.


cheers

andrew


pgsql-hackers by date:

Previous
From: "Magnus Hagander"
Date:
Subject: Re: Home dir changes have broken MSVC builds
Next
From: Tom Lane
Date:
Subject: Re: Home dir changes have broken MSVC builds