Thread: make errors building libpqdll.lib

make errors building libpqdll.lib

From
"Rob Butler"
Date:
Hello all,

I'm running into some sort of error building libpq on my machine.  I change
to /src and run nmake -f win32.mak as directed, but get output showing
warning messages.  OK fine, warnings are not errors..  BUT the libpqdll.lib
does not have an entry for PQescapeString..  Which causes the following
error in my project:

error LNK2001: unresolved external symbol _PQescapeString
fatal error LNK1120: 1 unresolved externals

If I comment out PQescapeString, the project compiles fine.  Other postgres
functions seem to be available and work when called.  Is this a bug in the
win32 build of libpq?  Or is something going wrong on my machine.

Either way, all I need is the libpqdll.lib, libpq-fe.h, and libpq.dll
files..  If someone else has them for postgres 7.2 already and could send
them to me, it would save some time.  Help solving the issue so I can build
my own libpq.dll would also be greatly appreciated.

I'm using VC++ Enterprise Edition, with the August 2001 Edition Microsoft
SDK update.

Thanks for the help
Rob

Here is a copy of the build output:

 cd include
 if not exist pg_config.h copy pg_config.h.win32 pg_config.h
 cd ..
 cd interfaces\libpq
 nmake /f win32.mak
Building the Win32 static library...

No configuration specified. Defaulting to Release.

 cl.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nma00960.
dllist.c
 cl.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nmb00960.
md5.c
C:\Program Files\Microsoft SDK\Include\.\wingdi.h(98) : warning C4005:
'ERROR' : macro redefinition
        ..\..\include\utils/elog.h(19) : see previous definition of 'ERROR'
 cl.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nmc00960.
fe-auth.c
fe-auth.c(537) : warning C4090: '=' : different 'const' qualifiers
fe-connect.c
fe-exec.c
fe-lobj.c
fe-misc.c
fe-misc.c(129) : warning C4018: '>' : signed/unsigned mismatch
fe-misc.c(221) : warning C4018: '>' : signed/unsigned mismatch
fe-print.c
fe-print.c(302) : warning C4090: 'function' : different 'const' qualifiers
fe-print.c(302) : warning C4022: 'free' : pointer mismatch for actual
parameter 1
pqexpbuffer.c
pqexpbuffer.c(195) : warning C4018: '<' : signed/unsigned mismatch
pqexpbuffer.c(243) : warning C4018: '<' : signed/unsigned mismatch
 link.exe -lib @C:\DOCUME~1\rob\LOCALS~1\Temp\nmd00960.
 cl.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nme00960.
libpqdll.c
 rc.exe /l 0x409 /fo".\Release\libpq.res" libpq.rc
 link.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nmf00960.
   Creating library .\Release\libpqdll.lib and object .\Release\libpqdll.exp
 cd ..\libpq++
 nmake /f win32.mak
 cd ..\..\bin\psql
 nmake /f win32.mak
 cl.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nma00960.
getopt.c
 cl.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nmb00960.
command.c
command.c(294) : warning C4013: 'chdir' undefined; assuming extern returning
int
command.c(1130) : warning C4018: '<' : signed/unsigned mismatch
command.c(1178) : warning C4018: '<' : signed/unsigned mismatch
command.c(1216) : warning C4244: '=' : conversion from 'long ' to 'char ',
possible loss of data
common.c
help.c
input.c
stringutils.c
mainloop.c
copy.c
startup.c
prompt.c
variables.c
large_obj.c
large_obj.c(216) : warning C4018: '<' : signed/unsigned mismatch
print.c
print.c(301) : warning C4018: '>=' : signed/unsigned mismatch
print.c(1261) : warning C4090: 'function' : different 'const' qualifiers
print.c(1261) : warning C4022: 'free' : pointer mismatch for actual
parameter 1
print.c(1262) : warning C4090: 'function' : different 'const' qualifiers
print.c(1262) : warning C4022: 'free' : pointer mismatch for actual
parameter 1
describe.c
tab-complete.c
mbprint.c
 link.exe @C:\DOCUME~1\rob\LOCALS~1\Temp\nmc00960.
 cd ..\..
 echo All Win32 parts have been built!
All Win32 parts have been built!