_AMD64_ 未在 VS2010 中定义

2024-04-10

我在VS2010中创建了一个新的C++项目。我添加了 x64 作为新的解决方案平台。我尝试将“复制设置从”设置为“Win32”和“空”,但都不起作用。_AMD64_当我选择 x64 作为平台时未定义。难道不应该吗?是否还有我不知道的 64 位编译步骤?

期待问题:我使用的是VS2010 Ultimate,Windows 7 64位,VS安装时选择了x64编译器。


您已完成所有步骤。一个_AMD64_符号是not默认情况下由 Visual Studio 预定义。如果你想使用它,你需要自己定义它:

#if defined _M_X64 || defined _M_AMD64
    #define _AMD64_
#endif

但你并没有编造它存在的记忆。除了其他一些符号之外,Windows DDK 还附带了定义此符号的 makefile。报到makefile.def。可能性是:

  • _X86_
    分别称为 x86、i386 和 IA-32
    (这和VS预定义的一样_M_IX86)

  • _AMD64_
    也称为 AMD64、x64、x86-64、IA-32e 和 Intel 64
    (这和VS预定义的一样_M_X64 and _M_AMD64)

  • _IA64_
    英特尔安腾 (IA-64)
    (这和VS预定义的一样_M_IA64)

  • ......以及其他一些架构不再是目标

理想情况下,您将配置构建系统来预定义一组已知宏,然后您将在自己的代码中使用它们。如果您没有构建系统,至少在预编译头文件中进行一些设置。这样,您就不会依赖与实现相关的符号到处,并且切换编译器并不是一件繁重的工作——例如,GCC 预定义的目标体系结构符号与 MSVC 非常不同。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

_AMD64_ 未在 VS2010 中定义 的相关文章

  • 在 C++ 中从 std::string 转换为 char *

    我正在使用 VS2012 C 我需要将 std string 转换为 char 但我在网上找不到任何材料来提供有关如何执行此操作的任何指导 任何代码示例和建议将不胜感激 Use std string bla bla char blaptr
  • 实体框架左外连接和分组抛出:ORA-00907:缺少右括号

    我在基于实体框架的数据访问中使用实体框架来定位多个数据库 我们是一个使用 Entity Framework 已有 2 年的团队 生成的代码与 sql server 2008 完美配合 现在 我们在将数据库迁移到 Oracle 11 Expr
  • 如何使用鼠标拖动和移动winform

    我知道如何通过添加以下代码来 拖动和移动 winform Protected Overrides Sub WndProc ByRef m As Message If m Msg 163 And ClientRectangle Contain
  • 对 C# 解决方案进行逆向工程

    我知道 Visual Studio 2010 Ultimate 有一些功能 我通常会凭本能这样做 但我的日程安排非常紧张 我还安装了 Visio 2010 并将其集成到 VS 中 但它的逆向工程功能似乎没有多大作用 并且必须在每个项目的基础
  • 智能感知不显示评论

    如果我在 Visual Studio 2010 中输入类似的内容数据集1 我得到所有可用方法和属性的列表 智能感知 这很好用 但是 如果我在此列表中选择一个方法或属性 我不会得到 if 的描述 例如 如果我有类似的东西 public cla
  • 如何重新包含排除的文件夹

    所以我只是无意中点击了我的项目的致命一击Exclude From Project代替Add在我的控制器文件夹中 当尝试添加名为 Controllers 的文件夹时 我收到错误 此文件夹存在 但是 如果我尝试单击该项目 gt Add Exis
  • AOSP 的“午餐”组合是什么意思?我需要选择什么?

    我是 Android 设备 ROM 开发的新手 无论如何 我现在正在为具有 64 位处理器的中国设备构建 AOSP 我按照 source android com 上的菜单进行操作 当我运行 午餐 命令时 终端显示 午餐菜单 选择一个组合 我
  • vscode 窗口没有响应[重复]

    这个问题在这里已经有答案了 VS代码版本 1 77 0 操作系统版本 windows 11 22h2 这是我过去几天收到的问题 我使用了nodejs 并且没有安装任何Python或其他软件 我已经删除了所有扩展并删除了缓存 在此输入图像描述
  • 如何在单元测试中比较列表

    这个测试怎么会失败呢 TestMethod public void Get Code var expected new List
  • 在 VS2010 中发布时 SVsBuildManagerAccessor 失败

    我的 VS 2010 有问题 我无法发布任何项目 我收到错误 获取 SVsBuildManagerAccessor 服务失败 一段时间以来我一直在尝试解决这个问题 奇怪的是 在这种情况开始发生的同时 我也开始遇到 sql server ma
  • 从 VS.NET 2008 转换到 2010 时 Windows 服务安装项目出现问题

    我正在尝试将解决方案从 VS NET 2008 转换为 2010 该解决方案包括一个 Windows 服务项目和一个安装 Windows 服务的安装项目 我在编译安装项目时遇到问题 我已经尝试按照教程从头开始几次here http msdn
  • If 语句中 Bool 计算错误

    只是为了好奇 我的代码有这个问题 e被评估为false 我知道通过查看数据库中的数据会得到错误 但 if 语句并不关心这一点 并假设这是真的 并试图抛出异常 有什么想法吗 edit 没有 在第 16 行末尾 价值false是正确的 我已经检
  • VS2010 RC - 调试器中只有 100 个 std::map 元素

    当我想查看 std map 容器的所有元素时 在 VS 2010 RC 中调试我的应用程序时遇到一个小问题 当调试器到达断点并且我想检查元素检查器中的映射值 在 本地 窗口中以及用鼠标悬停变量名称后的弹出窗口中 并且我正在向下滚动列表元素它
  • Subversion 和 Visual Studio 项目的最佳实践

    我最近开始在 Visual Studio 中处理各种 C 项目 作为大型系统计划的一部分 该系统将用于替换我们当前的系统 该系统是由用 C 和 Perl 编写的各种程序和脚本拼凑而成的 我现在正在进行的项目已经达到了颠覆的临界点 我想知道什
  • 2D morton 码编码/解码 64 位

    如何将给定 x y 的莫顿代码 z 顺序 编码 解码为 32 位无符号整数 生成 64 位莫顿代码 反之亦然 我确实有 xy2d 和 d2xy 但仅适用于 16 位宽的坐标 产生 32 位莫顿数 在网上查了很多 但没有找到 请帮忙 如果您可
  • 如何在 Visual Studio 2010 中处理 TODO 注释?

    我希望 Visual Studio 列出开头包含 TODO 的所有行 通常在注释符号之后 注释符号可能会根据文件类型而变化 这些行可以在解决方案中的任何文本文件中找到 无论是 C VB F T SQL ASPX XAML 或只是 TXT 在
  • 在 EnvDTE 中调试时捕获 VS 局部变量

    是否可以使用 EnvDTE 进行 vsix Visual Studio 扩展来捕获本地和调试窗口使用的调试数据 或者可以通过其他方法吗 我想创建一个自定义的本地窗口 我们可以修改它以根据需要显示一些较重的内容 而无需为高级用户牺牲原始的本地
  • 无法将 Excel 值的类型“double”转换为“string”

    我正在加载 Excel 文件 如网络上许多地方所示 OpenFileDialog chooseFile new OpenFileDialog chooseFile Filter Excel files xls xlsl xls xlsx i
  • MVC 3 DropDownFor 和 ViewModel 不起作用

    我有 2 个型号 public class Person public Guid ID get set public string Name get set public class Event public Guid ID get set
  • 忽略挂起的更改中的某些文件

    这是我的问题 我已经更改了解决方案中的某些文件 假设是 Web config 并且永远不想签入 因为这些更改仅涉及我的计算机 有没有办法在 TFS 中忽略某个文件中的更改并将其从挂起的更改窗口中删除 当然 我可以在每次签入时跳过这个文件 但

随机推荐