【问题标题】:Porting a class from MFC to a C++ Console Application . Building MFC application with /MD[d] (CRT dll version) requires将类从 MFC 移植到 C++ 控制台应用程序。使用 /MD[d](CRT dll 版本)构建 MFC 应用程序需要
【发布时间】:2013-03-21 00:07:47
【问题描述】:

我正在尝试从基于 MFC 的应用程序中移植某些功能。显然我没有使用 MFC 的经验。我感兴趣的类继承自 CAsyncSocket。在 MSDN 上查找该类时,它指出该类派生自 afxsock.h 。当我将它添加到我的控制台应用程序代码时,我收到了以下错误消息

Error   1   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]  d:\program files (x86)\microsoft visual studio 10.0\vc\atlmfc\include\afx.h

关于如何解决此问题的任何建议?

【问题讨论】:

    标签: visual-studio-2010 sockets visual-c++ mfc


    【解决方案1】:

    为了使用任何 MFC 的东西,您需要将您的程序与 MFC 链接。最简单的方法是通过项目属性。打开您的项目属性并转到“常规”。选择“使用 MFC”或者“在静态库中使用 MFC”或“在共享 dll 中使用 MFC”。尝试重新构建您的程序。之后您可能需要调整一些其他选项

    【讨论】:

    • 谢谢你能告诉我两者的区别吗?
    • 如果您选择后者,您需要将 MFC 与您的应用程序一起分发(通过安装程序)。如果您选择前一个选项,程序二进制文件的大小会更大,但您不需要随它分发任何 dll。它可以在任何 PC 上正常工作
    猜你喜欢
    • 1970-01-01
    • 2013-03-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    相关资源
    最近更新 更多