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

发布于 2024-10-15 09:47:36 字数 367 浏览 6 评论 0原文

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

我正在开发旧版 C++ 解决方案,并且添加了一个新的托管项目。所有其他项目均不受管理。新项目配置为“使用 MFC”:“在共享 dll 中使用 MFC”。

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

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

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

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

I'm not a C++ developer so be gentle with me.

I am working on a legacy c++ solution and I have added a new managed project. All other projects are unmanaged. The new project is configured as Use of MFC : 'Use MFC in a shared dll'.

I have also made some changes to one of the existing projects to call my new code. This is configured as 'Use standard Windows Libraries'.

My problem is that when I try and build the existing project with my changes I get the following error:

Error 1 fatal error C1189: #error : Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]

Why does the compiler think this is an MFC project when it is configured as 'Use standard Windows Libraries'?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

缱倦旧时光 2024-10-22 09:47:36

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

希望有帮助,
太阳

I am looking at MSDN definition of the error (C1189: http://msdn.microsoft.com/en-us/library/y0tzt8e0%28v=vs.80%29.aspx) and it seems to be definition issues. Now, the description from your compiler is ambiguous but if you fix the '#define' problems the compiler can point more accurately to other problems.

Hope it helps,
Sun

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文