1

我正在使用 Windows 64,我们需要为我们的项目创建一个生成文件。我们有一个现有的 makefile 敌人 Win 32 并且不知道如何从 make 文件设置 64 位环境。
如果有人这样做或有任何 Win 64 的示例生成文件,请与我分享。我们收到以下错误

c:\program files (x86)\microsoft visual studio 9.0\vc\include\codeanalysis\sourceannotations.h(17) : error C2371: 'size_t' : redefinition; d
ifferent basic types
        predefined C++ types (compiler internal)(19) : see declaration of 'size_t'
C:\Program Files\Microsoft SDKs\Windows\v6.0A\include\winnt.h(81) : fatal error C1189: #error :  "No Target Architecture"
make[3]: *** [shared/anonObject.o] Error 2

这主要是在未设置 VS x64 位配置时出现的。

4

2 回答 2

2

如果既没有定义也没有定义,预处理器会抛出该错误(No Target Architecture ) ,我相信这暗示您错误地设置了目标架构(应该传递给),或者您正在使用一个非常奇特的架构。 ._AMD64__IA64_/MACHINE:X64cl

我不知道有关 64 位编译的任何其他专业知识,当然,除了您需要运行 64 位版本cl(中的那个VC\bin\amd64)。

就此而言,还请记住使用 64 位库而不是 32 位库进行链接。它们可以在各自的lib\x64(Windows SDK) 和lib\amd64(Visual Studio) 文件夹中找到。


已经定义的事实size_t可能可以使用

#define _SIZE_T_DEFINED

在包括sourceannotations.h. 你是自己定义size_t的吗?它在 中完成windows.h,它应该自动定义上述内容。

于 2011-02-07T08:20:12.857 回答
0

我在命令提示符下设置了 64 位环境,然后使用 /MACHINE:X64 选项运行 makefile。

于 2011-02-10T11:13:56.260 回答