티스토리 툴바



2008/03/26 06:11

CxImage Unicode 버전

이미지 라이브러리로 유명한 CxImage를 누군가가 유니코드로 사용할 수 있도록 변환해서 올렸다. 앞으로는 VS2005이상에서는 유니코드 뿐만 아니라 MBCS 에서도 이걸 사용하면 되겠다.


VS2005 이상의 프로젝트로 변환할 때 메시지 창이 하나 뜨는데 이때 "예"를 누르고 넘어가면 된다.
그리고 현재 비스타, VS2008에서 컴파일 하면 수많은 SecureCRT 함수에 대한 Warning 이 뜨고
fatal error LNK1104: cannot open file '.\Debug\ximadsp.obj'    CxImageCrtDll // MBCS 컴파일시
fatal error LNK1104: cannot open file '.\Unicode_Debug\tif_xfile.obj' CxImageCrtDll// UNICODE시
fatal error C1189: #error: _WIN32_WINNT settings conflicts with _WIN32_IE setting  sdkddkver.h 217
fatal error C1189: #error: _WIN32_WINNT settings conflicts with _WIN32_IE setting  sdkddkver.h 217
3개의 에러가 뜬다.

일단 버전 충돌이 나는 곳으로 이동해 보면
#if ((_WIN32_WINNT < _WIN32_WINNT_WIN2K) && (_WIN32_IE > _WIN32_IE_IE60SP1))
#error _WIN32_WINNT settings conflicts with _WIN32_IE setting
#endif
이렇게 되어 있다.
_WIN32_WINNT 버전 정의가 너무 낮아서 나는 것이다.
그럼 demo 프로젝트의 stdafx.h 파일을 찾아서
#define WINVER 0x0400 -> #define WINVER 0X0500
으로 변경시켜 주고 다시 클린 및 리빌드 하면
CxImageMfcDll에서 vc90.pdb 파일및 vc90.idb 파일에서 에러가 나는데 찾아 보니 vc90.pdb 파일로 설정된 곳이 없는 것 같아 그냥 다시 컴파일 해 보니 컴파일이 된다.
VS2008에서 기본적인 셋팅으로 vc90.pdb 파일을 어디서 찾는것 같은데 파일이 없어서 나는 것이 아닌거 생각해 본다. 정확하게 에러 지점을 찾으면 다시 수정해야겠다.(아시는 분 알려 주세요)
Trackback 0 Comment 0