C++ MFC 构建错误但组件不是 MFC
我不是 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
我正在查看错误的 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