유니코드와 멀티코드(안시코드)를 쉽게 바꿀때 사용 하는 USES_CONVERSION 매크로가 있는데
사용할때 #include <atlconv.h> 링크 하고 아래와 같이 사용하면 된다.
#include <atlconv.h>

USES_CONVERSION;

TCHAR widechar[]=L"sample";
char ansichar[10];
ansi = W2A(widechar);

하지만 간혹 헤더만 링크 시키고 아래와 같은 에러가 발생할때가 있다.
 1>xxxxx.obj : error LNK2001: "unsigned int (__stdcall* ATL::g_pfnGetThreadACP)(void)" (?g_pfnGetThreadACP@ATL@@3P6GIXZA) 외부 기호를 확인할 수 없습니다.

이런 에러가 발생할 경우에는 라이브러리 파일이 링크가 안되서 발생하는 문제이다
아래와 같이 라이브러리 파일을 링크 해주면 된다.
#pragma comment (lib, "atls.lib")


by 널부러 2009. 4. 20. 17:39