【问题标题】:#error Please use the /MD switch for _AFXDLL builds#error 请为 _AFXDLL 构建使用 /MD 开关
【发布时间】:2011-05-12 20:42:00
【问题描述】:

我在 Visual Studio 中遇到错误,Please use the /MD switch for _AFXDLL builds 那么如果我取消定义_AFXDLL,我的程序会出错吗?

【问题讨论】:

    标签: c++ visual-c++ build


    【解决方案1】:

    CRT 链接和 MFC 链接的设置必须一致。所以,实际上,这个问题有两种可能的答案:

    1. 使用 /MT(属性 -> C/C++ -> 代码生成)和静态 MFC(属性 -> 常规 -> 使用 MFC)

    2. 使用 /MD(属性 -> C/C++ -> 代码生成)和共享 MFC(属性 -> 常规 -> 使用 MFC)

    【讨论】:

    • 对于最常见的情况,这应该是解决方案。但是如果您要创建 AFX 扩展 DLL,那么您必须使用 /MD。当 _AFXEXT 被定义为预处理器变量时,您正在创建一个 AFW 扩展 DLL。
    【解决方案2】:

    是的,它会的。您应该做的是转到您的 Visual Studio 项目属性。在配置属性 -> C/C++ -> 代码生成中,确保您为运行时库使用多线程 Dll。

    这会解决你的问题。

    【讨论】:

      猜你喜欢
      • 2014-05-22
      • 1970-01-01
      • 2021-08-28
      • 2017-11-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多