카테고리 없음

error C2664

bo97037 2014. 2. 24. 11:40

제 환경은 Visual Studio 2005 이고.

 

책은 처음 Visual Studio .NET 첫 버젼기반으로 쓰여졌더군요

 

 

void ChelloDlg::OnBnClickedHello()
{

 MessageBox("Heelo");
}

 

여기서 에러가

1>c:\documents and settings\administrator\my documents\visual studio 2005\projects\hello\hello\hellodlg.cpp(165) : error C2664: 'CWnd::MessageBoxW' : 매개 변수 1을(를) 'const char [6]'에서 'LPCTSTR'(으)로 변환할 수 없습니다.
1>        가리킨 형식이 관련이 없습니다.변환하려면 reinterpret_cast, C 스타일 캐스트 또는 함수 스타일 캐스트가 필요합니다.

 

 

이렇게 발생하는데..어떻게 잡아야할까요?

 

===============================================================================================

 

예를 들어 MessageBox("Hello world"); 를 추가한다고 했을 때

 

error C2664: .... 'const char []' 에서  'LPCTSTR'로 바꿀 수 없다는 에러가 나온다.

 

Character Set이 vc 6.0이나 2003에서는 Use Multi-Byte Character Set인데, 2005에서는

 

Use Unicode Character Set이라 발생하는 문제라고 한다.

 

그래서 프로젝트 -> 속성 -> 구성속성 -> 프로젝트 기본값(문자 집합)에서===>(vc.6일 경우)

 

프로젝트 -> 속성 -> 일반 -> 문자집합-(vc++ 2010년 버전)

 

해당 값을 유니코드 문자 집합 사용에서 멀티바이트 문자 집합 사용으로 체크해 주면 됩니다.