CMFCColorButton 링크 오류 해결

MFC 프로그램을 만들 때 프로그램 크기를 줄이기 위해 '고급 MFC 컨트롤을 사용하지 않음' 을 지정할 때가 있습니다. 이렇게 생성된 프로그램은 매우 작지만 프로젝트가 완성된 후에 갑자기 일반적인 컨트롤을 사용하려고 합니다. 예를 들어 ColorButton을 사용할 때 링크를 내릴 때 링크 오류가 발생합니다.
uafxcwd.lib(afxctrlcontainer2.obj) : error LNK2005: "void __cdecl AfxRegisterMFCCtrlClasses(void)" (?AfxRegisterMFCCtrlClasses@@YAXXZ)     afxnmcdd.lib(afxctrlcontainer2.obj)    
1>uafxcwd.lib(afxctrlcontainer2.obj) : error LNK2005: "protected: void __thiscall CMFCControlContainer::PreUnsubclassControl(class CWnd *)" (?PreUnsubclassControl@CMFCControlContainer@@IAEXPAVCWnd@@@Z)     afxnmcdd.lib(afxctrlcontainer2.obj)    
1>uafxcwd.lib(afxctrlcontainer2.obj) : error LNK2005: "public: int __thiscall CMFCControlContainer::SubclassDlgControls(void)" (?SubclassDlgControls@CMFCControlContainer@@QAEHXZ)     afxnmcdd.lib(afxctrlcontainer2.obj)    

해결 방법은 간단합니다. stdafx를 엽니다.h 파일, #define 찾기AFX_NO_MFC_CONTROLS_IN_DIALOGS
이 구절을 주석해 버리면 돼...

좋은 웹페이지 즐겨찾기