_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 吗?

mysql-8.0.20-winx64_初次使用过程(Win7x64)

MSVC 的 _M_X64 预定义宏说明

详细图解mongodb 3.4.1 win7x64安装

详细图解mongodb 3.4.1 win7x64安装

HP服务器安装win 2008 x64操作系统