Я пытаюсь скомпилировать 32-битное приложение. Я знаю о проблемах с этим, но именно поэтому его компилируется на 64-битной версии.Проблема с MDAC при попытке скомпилировать в VS2008 с использованием целевой платформы x64 бит
Я вися на этой проблеме. Приложение использует много материалов sql.
В sqltypes.h файла: (предоставленный MDAC)
#ifdef _WIN64
typedef INT64 SQLLEN;
typedef UINT64 SQLULEN;
typedef UINT64 SQLSETPOSIROW;
#else
#define SQLLEN SQLINTEGER
#define SQLULEN SQLUINTEGER
#define SQLSETPOSIROW SQLUSMALLINT
#endif
//For Backward compatibility
#ifdef WIN32
typedef SQLULEN SQLROWCOUNT;
typedef SQLULEN SQLROWSETSIZE;
typedef SQLULEN SQLTRANSID;
typedef SQLLEN SQLROWOFFSET;
#endif
По какой-то причине, когда его скомпилирован на 32-битной платформе она отлично работает Но когда я пытаюсь строить его на 64 она идет в неистовство.
Ошибка 61 ошибка C2146: синтаксическая ошибка: отсутствует ';' перед идентификатором «SQLLEN» .. \ external \ microsoft sdk \ include \ sqltypes.h 50
Он не распознает INT64, UINT64.
Есть ли что-то, что мне нужно для включения, так что это будет работать в процессе сборки 64? Отсутствует #include или #define?
Любая помощь будет большим
Благодаря
Показать, какие другие заголовки вы #including. Вы сначала включили windows.h? –
Вы уверены, что определены INT64 и UINT64? В моей системе sqltypes.h зависит от другого заголовка, чтобы определить их. Если ваша 64-битная система находит версию этого файла, которая не имеет этих определений, это объясняет проблему. – ThatBlairGuy
Я уверен, что это проблема. на самом деле в этот момент я уверен, потому что, как только я добавил typedef перед вызовом sqltypes, он работает – grobartn