【问题标题】:Visual Studio 2012 native C++ DLL x86 compilationVisual Studio 2012 本机 C++ DLL x86 编译
【发布时间】:2012-10-21 13:13:04
【问题描述】:

我最近将我的工具集从 Win 7 x86 / Visual Studio 2010 升级到 Win 8 x64 / Visual Studio 2012。但是,现在我的原生 C++ dll 编译为 x64 而不是 x86。除了将代码移动到新的 O/S 并将其加载到 VS2012 之外,我没有做任何事情。

有谁知道我如何强制它为 x86 编译?

【问题讨论】:

  • 在配置管理器中(右键单击资源管理器栏中的解决方案),您是否将平台设置为 Win32,而不是 x64?
  • 是的,平台设置为 Win32。以前它运行良好,直到我升级到 VS2012。如果我选择 New Project Platform,我可以在 Arm、Itanium 和 x64 之间进行选择 - 没有 x86 选项。
  • (这是因为 Win32 与 VS2012 中的 x86 含义相同。)尝试进入项目的属性 --> 链接器 --> 高级 --> 目标机器并将其设置为 MachineX86。
  • 感谢Archimaredes - 这似乎已经成功了。如果您想发送此答案,我会为您接受。
  • 不客气,干杯 - 我发布了答案。

标签: c++ dll windows-8 x86 visual-studio-2012


【解决方案1】:

转到项目的属性页,找到 Linker -> Advanced -> Target Machine 选项,并确保将其设置为MachineX86

【讨论】:

    【解决方案2】:

    转到构建--> 配置管理器 --> 主动解决方案平台 并将其更改为 x86。

    您还可以通过在同一窗口中查找项目名称和应用到它的平台来确认您的特定项目平台。

    【讨论】:

    • 活动平台设置为 Win32,这是唯一配置的平台。如果我选择创建一个新的 x86 是缺失的。有什么想法吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 1970-01-01
    • 2012-09-25
    • 1970-01-01
    相关资源
    最近更新 更多