Windows SDK도 깔지 않고 서비스 팩만 설치한 기본 VC++2005 개발 환경에서 프로토타입만 개발한다는 게...알파 버전까지 진행되었다.
뒤늦게 문제가 되어 VC++ 2005에 Windows SDK 6.0을 설치했는데...
빌드가 안된다 -_-;
링크 에러가 발생한다.
--------------------------------------------------------------------------------------
오류 3 error LNK2019: unresolved external symbol "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPA_WPBD@Z) referenced in function "public: __thiscall _bstr_t::Data_t::Data_t(char const *)" (??0Data_t@_bstr_t@@QAE@PBD@Z) noname.obj
--------------------------------------------------------------------------------------
구글링 결과 위와 같은 링크 에러가 발생하면 아래와 같이 하면 해결이 된다는 간단한 해결책이 나온다.
--------------------------------------------------------------------------------------
#ifdef _DEBUG
#pragma comment(lib, "comsuppwd.lib")
#else
#pragma comment(lib, "comsuppw.lib")
#endif
하거나...
'wchar_t를 기본 제공 형식으로 처리'옵션을 '아니오'(/Zc:wchar_t)로 설정하면 된다.
--------------------------------------------------------------------------------------
왜 Windows SDK를 설치하고 나서 문제가 되었는지 조금 더 들어가 보면 Windows SDK에서 제공된 comdef.h가 VC++ 2005에서 기본 제공된 comdef.h와 comsupp.lib 링크 부분이 다르다는 것을 확인할 수 있다.
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\comdef.h
--------------------------------------------------------------------------------------
#ifdef _NATIVE_WCHAR_T_DEFINED
# ifdef _DEBUG
# pragma comment(lib, "comsuppwd.lib")
# else
# pragma comment(lib, "comsuppw.lib")
# endif
#else
# ifdef _DEBUG
# pragma comment(lib, "comsuppd.lib")
# else
# pragma comment(lib, "comsupp.lib")
# endif
#endif
--------------------------------------------------------------------------------------
C:\Program Files\Microsoft SDKs\Windows\v6.0\Include\comdef.h
--------------------------------------------------------------------------------------
#pragma comment(lib, "comsupp.lib")
--------------------------------------------------------------------------------------
Windows SDK 6.1의 comdef.h는 확인을 못 해봤다.
왜 저런 차이가 생겼을까...?
관련 자료: http://msdn.microsoft.com/ko-kr/library/799kze2z(VS.90).aspx
뒤늦게 문제가 되어 VC++ 2005에 Windows SDK 6.0을 설치했는데...
빌드가 안된다 -_-;
링크 에러가 발생한다.
--------------------------------------------------------------------------------------
오류 3 error LNK2019: unresolved external symbol "wchar_t * __stdcall _com_util::ConvertStringToBSTR(char const *)" (?ConvertStringToBSTR@_com_util@@YGPA_WPBD@Z) referenced in function "public: __thiscall _bstr_t::Data_t::Data_t(char const *)" (??0Data_t@_bstr_t@@QAE@PBD@Z) noname.obj
--------------------------------------------------------------------------------------
구글링 결과 위와 같은 링크 에러가 발생하면 아래와 같이 하면 해결이 된다는 간단한 해결책이 나온다.
--------------------------------------------------------------------------------------
#ifdef _DEBUG
#pragma comment(lib, "comsuppwd.lib")
#else
#pragma comment(lib, "comsuppw.lib")
#endif
하거나...
'wchar_t를 기본 제공 형식으로 처리'옵션을 '아니오'(/Zc:wchar_t)로 설정하면 된다.
--------------------------------------------------------------------------------------
왜 Windows SDK를 설치하고 나서 문제가 되었는지 조금 더 들어가 보면 Windows SDK에서 제공된 comdef.h가 VC++ 2005에서 기본 제공된 comdef.h와 comsupp.lib 링크 부분이 다르다는 것을 확인할 수 있다.
C:\Program Files\Microsoft Visual Studio 9.0\VC\include\comdef.h
--------------------------------------------------------------------------------------
#ifdef _NATIVE_WCHAR_T_DEFINED
# ifdef _DEBUG
# pragma comment(lib, "comsuppwd.lib")
# else
# pragma comment(lib, "comsuppw.lib")
# endif
#else
# ifdef _DEBUG
# pragma comment(lib, "comsuppd.lib")
# else
# pragma comment(lib, "comsupp.lib")
# endif
#endif
--------------------------------------------------------------------------------------
C:\Program Files\Microsoft SDKs\Windows\v6.0\Include\comdef.h
--------------------------------------------------------------------------------------
#pragma comment(lib, "comsupp.lib")
--------------------------------------------------------------------------------------
Windows SDK 6.1의 comdef.h는 확인을 못 해봤다.
왜 저런 차이가 생겼을까...?
관련 자료: http://msdn.microsoft.com/ko-kr/library/799kze2z(VS.90).aspx
반응형
'Dev' 카테고리의 다른 글
원인 모를 이유로 갑자기 부팅이 안될 때 유전원 USB을 분리 (0) | 2011.12.28 |
---|---|
Windows7 64bit 환경에서 OpenProj 사용하기 (0) | 2011.09.29 |
[팁] Windows 7에서 CLCL 설치가 안될 때 (0) | 2010.05.03 |
윈도우 7의 절전 모드가 자동으로 해제되는 문제 (22) | 2009.12.07 |
구형 시스템에 윈도우 7을 설치하면서 발생한 몇 가지 문제점 (26) | 2009.11.11 |