Я строю стандартный пример, используя следующий файл make
default: dquery.exe
CFLAGS = /DNT_INTEL /DWIN32_NT /DWIN32 -c /W3 /Od /Zi /I..\common /DNT /DMSC /MD
OBJS = dquery.obj
dquery.obj: dquery.c
cl $(CFLAGS) dquery.c
dquery.exe: $(OBJS)
link -machine:IX86 user32.lib advapi32.lib netapi32.lib /DEBUG /DEBUGTYPE:BOTH -out:dquery.exe /STACK:3000,3000 $(OBJS) ..\lib\rdscli.lib ..\lib\util.lib
и не имеет проблем. Затем я создаю новый проект для этого примера, используя Visual Studio 6 или 2010, пытаясь применить все параметры из файла make и получить параметры командной строки, подобные этой
для компилятора:
/Od /I "..\common" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /Gm /EHsc /RTC1 /MDd /Fo"Debug\\" /Fd"Debug\vc90.pdb" /W3 /nologo /c /Wp64 /ZI /TP /errorReport:prompt
и для компоновщика:
/VERBOSE /OUT:"Debug\dquery2.exe" /INCREMENTAL /NOLOGO /LIBPATH:"..\lib" /MANIFEST /MANIFESTFILE:"Debug\dquery2.exe.intermediate.manifest" /MANIFESTUAC:"level='asInvoker' uiAccess='false'" /DEBUG /PDB:"d:\Piniutin\samples\dquery2\Debug\dquery2.pdb" /SUBSYSTEM:CONSOLE /DYNAMICBASE /NXCOMPAT /MACHINE:X86 /ERRORREPORT:PROMPT netapi32.lib rdscli.lib util.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib
Линкер печатает некоторые сообщения об ошибках, как это:
dquery.obj : error LNK2019: unresolved external symbol _SQLConnect referenced in function _main
В этом случае компоновщик не может найти библиотечные файлы или не может найти функции в библиотеках. Функция _SQLConnect присутствует в rdscli.lib, но компоновщик не может ее распознать.
Как я могу решить это?
заранее спасибо
Задача ещё не решена.
Других решений пока нет …