【问题标题】:WinRT Component: C1189: #error: "No Target Architecture"WinRT 组件:C1189:#error:“无目标体系结构”
【发布时间】:2013-09-03 21:08:02
【问题描述】:

我最近需要在一个 WinRT 组件项目中使用 OutputDebugString(),这需要这一行:

 #include <..\um\debugapi.h>

但是,添加此包含会产生错误:

错误 1 ​​错误 C1189: #error : "No Target Architecture" c:\...

为了尝试解决此问题,我打开了配置管理器并将项目的平台设置为 x64(对 WinRT 组件进行了不受欢迎的修复,但我想看看它是否有效)。不幸的是,这并没有解决问题,我无法构建。如果有减轻错误的替代方法,我愿意接受任何将调试输出打印到 VS 输出窗口的方法。

编辑:错误出现在 winnt.h 第 146 行,以防万一这有帮助。

【问题讨论】:

  • 您真的在使用 VS 2010,还是您的标签列表中的拼写错误?
  • 错别字,谢谢纠正。

标签: c++ visual-studio debugging visual-studio-2012 windows-runtime


【解决方案1】:

我通过在 #include &lt;debugapi.h&gt; 之外添加 #include &lt;windows.h&gt; 解决了这个问题

【讨论】:

    【解决方案2】:

    您可以通过添加预编译头文件来解决该问题:

    #include "pch.h"
    #include <..\um\debugapi.h>
    

    【讨论】:

    • 谢谢,但 pch.h 已包含在内。我刚刚尝试使用具有默认 pch.h 的干净文件/新项目并出现同样的问题。
    • @JamesCadd - 我假设你已经为 VS 安装了更新 3?我不知道还能说什么。如果我注释掉“pch.h”的包含,我会得到你所做的确切错误(winnt.h 中第 146 行的错误)。
    猜你喜欢
    • 2013-10-18
    • 2014-09-20
    • 2020-04-03
    • 1970-01-01
    • 2011-06-18
    • 2018-06-25
    • 1970-01-01
    • 2019-05-02
    相关资源
    最近更新 更多