首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Win64上的Makefile

Win64上的Makefile
EN

Stack Overflow用户
提问于 2011-02-07 15:58:46
回答 2查看 4.5K关注 0票数 1

我在Windows64上工作,我们需要一个我们的项目makefile。我们有一个现有的用于win32的makefile,并且不知道如何从make file设置64位环境。

如果有人这样做或有任何Win 64的样本makefile,那么请与我分享。我们得到以下错误

代码语言:javascript
复制
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位配置时出现的。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-10 19:13:56

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

票数 0
EN

Stack Overflow用户

发布于 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的事实可能可以使用以下命令修复

代码语言:javascript
复制
#define _SIZE_T_DEFINED

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

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4919099

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档