VS编译错误
#error Building MFC application with /MD[d] (CRT dll version) requires MFC shared dll version. Please #define _AFXDLL or do not use /MD[d]
问题解决方案
出现错误截图:
解决方案:
1.将配置属性->高级->MFC的使用,更改为 在共享DLL中使用MFC
2.将配置属性->C/C+±>代码生成->运行库,更改为 多线程调试 DLL (/MDd)
3.因为个人使用习惯造成的问题
通过观察上面的截图也可以发现,因为之前个人习惯使用x64平台运行,结果修改上两项后发现仍存在编译错误问题,最后发现是平台设置的问题,此处将x64更改为Win32即可
附测试代码及截图:
//0.使用MFC库
//1.需要包含头文件afxwin.h
#include <afxwin.h>
//2.每一个MFC工程,必须有一个CWinApp的派生类的全局对象,而不再需要WinMain函数。
class CMyWinApp :CWinApp
{
//3.必须重写InitInstance函数
public:
virtual BOOL InitInstance()
{
//4.在InitInstance函数中,创建窗口,或者对话框。
CFrameWnd* pFrame = new CFrameWnd();
pFrame->Create(NULL, _T("测试窗口"));
pFrame->ShowWindow(SW_SHOW);
//ShowWindow()
//5.并将窗口对象的指针赋值给CWinApp的成员变量m_pMainWnd。
m_pMainWnd = pFrame;
return TRUE;
}
};
CMyWinApp g_App;