Обсуждение: cannot find odbc library to link to for c program
SUMMARY:
I have written a c program that uses odbc functions, I do not know the
name of odbc postgres library I need to link to on windows.
Can someone tell me the name of the library and where I can find it.
DETAILS:
To compile the program on unix I just need to link to lodbc
The final link command on unix (aix433 in this case) looks like this:
% gcc -o function_tester -L/host/f/postgresql-8.1.3/aix433/lib
ceargs.o function_tester.o -lodbc -llcfdb -Wl
On windows I get the following error that indicates to me that I need
a comparable odbc library to link to on windows.
% link /nologo /warn:3 /NODEFAULTLIB:libcpmt.lib
/out:function_tester.exe
*.obj *.res lcfdb.lib "/libpath:d:\host\f\postgresql-8.1.3\lib"
"/libpath:D:\Progra~1\Micros~1\VC98\lib"
setargv.obj commode.obj
lcfdb.lib(oconnect.obj) : error LNK2001: unresolved external symbol
_SQLDisconne[1]ct@4
lcfdb.lib(oconnect.obj) : error LNK2001: unresolved external symbol
_SQLFreeHand[2]le@8
lcfdb.lib(oconnect.obj) : error LNK2001: unresolved external symbol
_SQLAllocHan[3]dle@12
...
function_tester.exe : fatal error LNK1120: 11 unresolved externals
NMAKE : fatal error U1077: 'link' : return code '0x460'
Stop.
Other information:
The installation I am using on windows (and unix) is postgres 8.1.3.
I installed on windows using the postgresql-8.1.msi installer program.
I use nmake and cl from Microsoft visual studio to compile.
Thanks
Doug
> On windows I get the following error that indicates to me that I need > a comparable odbc library to link to on windows. > > % link /nologo /warn:3 /NODEFAULTLIB:libcpmt.lib > /out:function_tester.exe > *.obj *.res lcfdb.lib "/libpath:d:\host\f\postgresql-8.1.3\lib" > "/libpath:D:\Progra~1\Micros~1\VC98\lib" > > setargv.obj commode.obj > > lcfdb.lib(oconnect.obj) : error LNK2001: unresolved external symbol > _SQLDisconne[1]ct@4 > lcfdb.lib(oconnect.obj) : error LNK2001: unresolved external symbol > _SQLFreeHand[2]le@8 > lcfdb.lib(oconnect.obj) : error LNK2001: unresolved external symbol > _SQLAllocHan[3]dle@12 > ... > > function_tester.exe : fatal error LNK1120: 11 unresolved externals > NMAKE : fatal error U1077: 'link' : return code '0x460' > Stop. This isn't psqlodbc related question. You may search the answer in Microsoft KB. When you write application using ODBC you work with ODBC manager not directly with the driver (psqlODBC, MyODBC, ...). Regards, Luf