■ Source

#include <windows.h>

int APIENTRY WinMain(HINSTANCE hInstance, HINSTANCE hPreInstance,
                                LPSTR lpCmdLine, int nShowCmd)
{
       MessageBox(NULL, "안녕하세요", "안녕", MB_OK);

       return 0;
}


■ Error Message :
error C2664: 'MessageBoxW' : 매개 변수 2을(를) 'const char [11]'에서 'LPCWSTR'(으)로 변환할 수 없습니다.


■ 발생 원인
 프로젝트 속성의 문자집합에서  "유니코드 문자 집합 사용" 으로 되어있기 때문이다.
MessageBox() 함수 안에 2번째, 3번째 매개변수가 유니코드 형식을 사용하지 않기 때문.


■ 해결 방법
1. 프로젝트 옵션에서 문자집합 옵션을 바꿔준다.

 "멀티 바이트 문자 집합 사용" 으로 선택

cf) "유니코드 문자 집합을 사용" : 유니코드 사용
    "멀티 바이트 문자 집합 사용" : ANSI 사용


2. MessageBox() 함수 대신에 MessageBoxA() 함수를 사용해 준다.

Posted by six605
,