2010-11-15 2 views
1

Я переношу проект с Win32 на бит Win64. Мы используем make-файл, получивший следующую ошибку:Устранение проблемы с переносом от Win32 до Win64

1> c: \ program files (x86) \ microsoft visual studio 9.0 \ vc \ include \ codeanalysis \ sourceannotations.h (17): ошибка C2371: 'size_t': redefinition; различные основные Виды уплотнения1> binding.cpp: см декларирование 'size_t'

C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include\winnt.h(81) : fatal error C1189: #error : "No Target Architecture" 

Мы copmiling со следующими CFLAGS:

1> cl.exe/NoLogo/MTD/GR/W3/Zi/EHsc/Od/I ".... \ include"/I "C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC \ include"/I "C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC \ PlatformSDK \ include "/ I" C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ Include "/ D_X86_/D_WIN64/D_WIN32/D" _DEBUG "/ D" _WINDOWS "/ D_CRT_SECURE_NO_WARNINGS /Fo".\Debug \ "/ Fd". \ Debug \ "/ FD/c" test.cpp "

Я не знаю, при установке меня не хватает.

ответ

3

Заголовок winnt.h ожидает, что либо _AMD64_, либо _IA64_ следует определить, когда вы пытаетесь скомпилировать код в 64-разрядном режиме.

Они могут быть установлены компилятором автоматически, если вы используете правильный компилятор. Убедитесь, что вы используете 64-разрядную версию cl.exe.

+0

1> cl.exe/nologo/MTd/GR/W3/Zi/EHsc/Od/I ".. \ .. \ include"/I "C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC \ include "/ I" C: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC \ PlatformSDK \ include "/ I" C: \ Program Files \ Microsoft SDK \ Windows \ v6.0A \ Include "/ D" _IA64_ "/ D" _WIN64 "/ D" WIN32 "/ D" _DEBUG "/ D" _WINDOWS "/ D_WIN32_WINNT = 0x0600/D_CRT_SECURE_NO_WARNINGS/Fo". \ Debug \\ "/ Fd". \ Debug \\ "/ FD/c "test.cpp" – CrazyC

+0

cl.exe - 32 бит – CrazyC

Смежные вопросы