Обсуждение: 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