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: