Visual Studio 2005 error C2664

Visual Studio 2005에서 윈도우즈 응용 프로그램을 만들다 보면 생기는 문제가 있다.

문자열을 다룰때 생기는 문제다.

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

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

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

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

그래서 프로젝트 -> 속성 -> 구성속성 -> 프로젝트 기본값(문자 집합)에서

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

그럼 유니코드를 사용하려면 어떻게 해 줘야하는지 모르겠다.

더불어 언제나 이렇게 문자열에 관한 속성을 세팅해 준 다음에 사용을 해야 되는 것인가?


사용자 삽입 이미지

찰스 페졸드의 Programming Windows 5th Edition 공부하다가...

3장. 윈도우즈와 메시지를 보면 WM_CREATE에서 Playsound 함수를 불러온다.

winmm.lib(windows multimedia를 의미) 라이브러리를 추가해 주어야 한다.

디폴트 프로젝트에 멀티미디어 라이브러리가 자동으로 포함되지 않기 때문이다.

책에서는 visual studio 6를 기준으로 설명되어 있다.

visual studio 2005에서는

프로젝트(P) -> 속성(P) (alt+F7) -> 구성 속성 -> 링커 -> 입력 -> 추가 종속성 에

winmm.lib를 추가해 주면 된다

시작하는 글

블로그 시작.

컴퓨터, 프로그래밍에 관한 것들을 공부하고 정리해 놓는 공간.