1

我正在将一个项目从 Win32 移植到 Win64。我们正在使用 make 文件,但出现以下错误

1>c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(17) : error C2371: 'size_t' : redefinition; different basic types1>
        binding.cpp : see declaration of 'size_t'

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

我们正在使用以下 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 SDKs\Windows\v6.0A\Include" /D_X86_ /D_WIN64 /D_WIN32 / D "_D​​EBUG" /D "_WINDOWS" /D_CRT_SECURE_NO_WARNINGS /Fo".\Debug\" /Fd".\Debug\" /FD /c "test.cpp"

我不知道我缺少哪些设置。

4

1 回答 1

3

标题 winnt.h 期望在您尝试以 64 位模式编译代码时定义_AMD64__IA64_应该定义。

如果您使用正确的编译器,它们可能会由编译器自动设置。检查您使用的是 64 位版本的 cl.exe。

于 2010-11-15T09:54:56.037 回答