Visual Studio 6.0 로 생성한 MFC App을 컴파일 할 때 아래의 링크 에러가 난다면...
※ VS 6.0 임!
nafxcwd.lib(afxmem.obj) : error LNK2005: "void * __cdecl operator new(unsigned int)" (??2@YAPAXI@Z) already defined in LIBCMTD.lib(new.obj) nafxcwd.lib(afxmem.obj) : error LNK2005: "void __cdecl operator delete(void *)" (??3@YAXPAX@Z) already defined in libcpmtd.lib(delop.obj) |
한마디로 LNK2005 라는 에러인데, 찾아보니, solution이 몇 개 있다.
1. library link 순서 변경
Menu에서 -> Project -> Settings -> Link 탭 -> Category에서 Input 선택
-> Object/library modules 항목에 Nafxcwd.lib Libcmtd.lib 입력
-> 같은 곳에서 Ignore libraries 항목에 Nafxcwd.lib,Libcmtd.lib 입력
※ Object... 에는 library 사이에 ' ' 공백이어야 하고, Ignore... 에는 ',' comma여야 함.
2. 중복 링크 허용
Menu에서 -> Project -> Settings -> Link 탭 -> Project Options 항목 끝에 '/FORCE:MULTIPLE' 입력
그런데, 본인은 이 방법을 이용하면 프로그램이 죽는 것 같음.
3. MFC library 링크를 static --> shared로 변경
Menu에서 -> Project -> General 탭 -> Microsoft Foundation Classes 항목에서 '... Shared ...'을 선택하여 build
※ 이 방법은 본인이 찾은 방법인데, 각자마다 환경이 다르므로, 안될 가능성이 높다.
위의 에러는 release 때는 나지 않는 것 같고, debug에서만 나는 것 같으므로, debug는 shared MFC로
release는 static으로 해주면 될 듯 하다.
'Tips' 카테고리의 다른 글
[JMAN's Tip] 엑셀(Excel) 특정 영역 조건부 서식 (특정 셀의 조건에 따라 특정 영역의 서식 결정) (0) | 2020.02.08 |
---|---|
[JMAN's Tip] 엑셀(Excel) 한 줄 조건부 서식 (특정 셀의 조건에 따라 한 줄의 서식 결정) (0) | 2020.02.08 |
.pch': No such file or directory 에러 문제 해결 - 2007/6/8 (0) | 2020.02.05 |
Visual Studio(VS) Code 각종 괄호 자동 완성 끄기 (0) | 2019.12.26 |
Visual Studio 2010 에서 'The .NET assembly 'Microsoft.Vsa' could not be found' 가 나타나면서 매크로가 안될 때 (0) | 2019.12.03 |