У нас мало проектов, которые компилируют мой make-файл. Эти файлы отлично работают в Windows 32 и Visual Studio 2005. Для переноса Windows 64 мы используем Visual Studio 2008. В make-файле мы определили/d "_WIN64" для установки 64-битных включений и других вещей. В одном файле мы включаем заголовок windows.h. Но в качестве объявления предварительного процессора WIN32. Поэтому после этого мы получаем ошибку для ODBC. Я испытал это следующим образом Во-первых:Проблема с переносом Windows 64 бит
#ifdef WIN32
in sds;
#endif
include windows.h>
Здесь мы не получаем ошибку для в и ИКБ.
Второе:
include windows.h>
#ifdef WIN32
in sds;
#endif
Здесь мы получаем ошибку для в и ИКБ. Что показывает, что windows.h объявляет WIN32. Эрро мы получаем для функции SQLBindCol следующим образом:
ошибка C2664: 'SQLBindCol': не может преобразовать параметр 6 из 'SQLINTEGER *' до 1> Типы 'SQLLEN * указал не связаны; для преобразования требуется reinterpret_cast, литье в стиле C или литье в стиле функции
Любая идея избавиться от него?
запись Makefile как:
CPP_PROJ=/nologo /MT /W3 /GR /EHsc /O2 /I "..\..\include" /I"$(VC_ROOT)\include" /I"$(WINSDKDIR)" /D "_WIN64" /D "NDEBUG" /D_CRT_SECURE_NO_WARNINGS /Fo"$(INTDIR)\\" /Fd"$(INTDIR)\\" /FD /c