_WIN64 未在 x64 项目中定义
Posted
技术标签:
【中文标题】_WIN64 未在 x64 项目中定义【英文标题】:_WIN64 is not defined in x64 project 【发布时间】:2012-08-13 05:25:51 【问题描述】:我正在使用 VS2008 并且项目属性设置为 (active) x64
奇怪的是 _WIN64 没有定义,WPARAM 和 LPARAM 仍然是 32 位的。
我应该手动定义_WIN64吗?
如果是这样,我应该把#define _WIN64放在哪里?预处理器设置似乎不起作用。
我很确定它被编译为 x64,因为在任务管理器中,exe 没有 *32 后缀。
【问题讨论】:
我在 vs2010 中测试过。 _WIN64 已定义。请检查您的项目配置。 【参考方案1】:问题是,
_WIN64 已由编译器定义,但 IDE 无法识别。 (在 VS2010 中似乎已修复。)
sizeof(WPARAM)和sizeof(LPARAM)的值都是8(不是4)
IDE 以灰色显示 *ifdef _WIN64* 块中的代码,就好像它们处于非活动状态一样,而实际上不是。
http://bugs.python.org/issue1558
【讨论】:
我在 VS2010 中仍然看到 IDE 问题 我仍然可以看到问题 VS2019 _WIN64 not defined【参考方案2】:根据微软的说法,在 VS2008 中,您应该在预处理器定义中自行设置 - 用于调试和发布版本 - 看看 here。
【讨论】:
是的,我实际上阅读了这篇文章并添加了_WIN64,但没有奏效。这是命令行: /Od /D "_WIN64" /D "_UNICODE" /D "UNICODE" /Gm /EHsc /RTC1 /MDd /Fo"x64\Debug\\" /Fd"x64\Debug\vc90.pdb " /W3 /nologo /c /Zi /TP /errorReport:prompt 嗯,设置后你会重建吗?我不确定VS会自动执行它,我认为它是必需的。以上是关于_WIN64 未在 x64 项目中定义的主要内容,如果未能解决你的问题,请参考以下文章
我应该在 64 位版本中同时定义 _WIN32 和 _WIN64 吗?