我在Windows64上工作,我们需要一个我们的项目makefile。我们有一个现有的用于win32的makefile,并且不知道如何从make file设置64位环境。
如果有人这样做或有任何Win 64的样本makefile,那么请与我分享。我们得到以下错误
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位配置时出现的。
发布于 2011-02-10 19:13:56
我在命令提示符上设置了64位环境,然后使用/MACHINE:X64选项运行makefile。
发布于 2011-02-07 16:20:13
如果_AMD64_和_IA64_都没有定义,那么这个错误(没有目标架构)是由预处理器抛出的,我相信这要么暗示你设置了错误的目标架构(应该将/MACHINE:X64传递给cl),要么你正在使用一个非常奇特的架构……
我不知道关于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中完成的,它应该自动定义上面的内容。
https://stackoverflow.com/questions/4919099
复制相似问题