C++ MFC 构建错误,但组件不是 MFC

Posted

技术标签:

【中文标题】C++ MFC 构建错误,但组件不是 MFC【英文标题】:C++ MFC build error but component is NOT MFC 【发布时间】:2011-02-01 12:40:25 【问题描述】:

我不是 C++ 开发人员,所以请对我温柔一点。

我正在开发一个旧的 c++ 解决方案,并且我添加了一个新的托管项目。所有其他项目都不受管理。新项目配置为 Use of MFC : 'Use MFC in a shared dll'。

我还对现有项目之一进行了一些更改以调用我的新代码。这被配置为“使用标准 Windows 库”。

我的问题是,当我尝试使用我的更改构建现有项目时,我收到以下错误:

错误 1 ​​致命错误 C1189:#error:使用 /MD[d](CRT dll 版本)构建 MFC 应用程序需要 MFC 共享 dll 版本。请#define _AFXDLL 或不要使用/MD[d]

为什么编译器在配置为“使用标准 Windows 库”时认为这是一个 MFC 项目?

【问题讨论】:

在项目的设置中,编译器命令行是什么? 为什么您的 managed 项目(我假设您的意思是 C++/CLI)完全使用 MFC? Cody:可能没必要。但是为什么这会影响非托管项目的编译呢? 我不一定认为它是。我只是注意到了这一点,并停止在那里阅读。这两个项目是您一起编译的单个解决方案的一部分吗? 【参考方案1】:

我正在查看错误的 MSDN 定义(C1189:http://msdn.microsoft.com/en-us/library/y0tzt8e0%28v=vs.80%29.aspx),这似乎是定义问题。现在,您的编译器的描述是模棱两可的,但如果您修复了“#define”问题,编译器可以更准确地指出其他问题。

希望对你有帮助, 孙

【讨论】:

谢谢。我还没有时间看链接,但我会尽快更新。

以上是关于C++ MFC 构建错误,但组件不是 MFC的主要内容,如果未能解决你的问题,请参考以下文章

我安装vs2017时安装的c++没安mfc请问怎么单独添加这个组件

我安装vs2017时安装的c++没安mfc请问怎么单独添加这个组件

如何在 MFC C++ 中实例化相同的对话框?

MFC 是不是有等效的 JPanel

[MFC]_在vs2019中使用MFC快速构建简单windows窗口程序

MFC 工具箱控件