프로그램
C# - following error: 80040154 - Visual Studio 에서 64bit (x64) 로 컴파일 하는 방법.
(주)CKBcorp.,
2012. 3. 10. 14:49
반응형
TTS 프로그램을 만들어 보려는데, 아래와 같은 에러 메시지에 봉착했다.
Retrieving the COM class factory for component with CLSID {D941651C-44E6-4C17-BADF-C36826FC3424} failed due to the following error: 80040154 클래스가 등록되지 않았습니다. (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
80040154 클래스가 등록되지 않았습니다. (Exception from HRESULT: 0x80040154 (REGDB_E_CLASSNOTREG)).
앞뒤를 말하자면, 영어 이외의 TTS 프로그램은 MS의 별도의 SDK를 깔아야 하는데, 해당 SDK 를 설치한 후 프로그램을 컴파일 해서 실행하니, 위의 에러가 발생한 것이다.
내용만 보면 SDK의 설치가 잘봇 된 것 같아서, 라이브러리 재설치도 해 보고, Visual Studio 를 종료시켰다 다시 실해해도 보고, 프로젝트를 다시 생성해 보기도 했는데,
계속 같은 에러가 났다.
이상하다 싶어서 구글신께 여쭈니, 이런 계시를 내려 주신다.
내용만 보면 SDK의 설치가 잘봇 된 것 같아서, 라이브러리 재설치도 해 보고, Visual Studio 를 종료시켰다 다시 실해해도 보고, 프로젝트를 다시 생성해 보기도 했는데,
계속 같은 에러가 났다.
이상하다 싶어서 구글신께 여쭈니, 이런 계시를 내려 주신다.
http://blog.naver.com/PostView.nhn?blogId=mankeys&logNo=144313787
http://onlybalance.pe.kr/xe/?mid=tech&listStyle=gallery&sort_index=readed_count&order_type=desc&category=224&document_srl=2353
요점만 정리하면, 내가 x64 환경이라고 SDK도 x64로 깔았는데, Visual Studio 의 컴파일 설정은 x86 으로 되어 있고, 그때문에 "파일접근에러" 를 낸 거다.
해결책은 2가지인데,
1. 32bit 용 SDK를 설치해서 깔던가,
2. 컴파일 자체를 64bit 용으로 하는 것
이다.
원래 배포용이라면 1번이 맞을 것 같긴 한데... 나는 일단 테스트가 먼저라, 2번으로 해결했다. Visual Studio 컴파일을 64bit 로 하는 방법은 ... 그림 보자.
메뉴에서 "Build > Configuration Manager" 를 선택하면 위의 화면이 나오는데, Platform 이 "x86" 으로 되어 있다. 이걸 "x64" 로 바꾸어 주면 됨.
반응형