반응형
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" 로 바꾸어 주면 됨.
반응형
'프로그램' 카테고리의 다른 글
WSH - VBScript 에서 class 사용. (0) | 2012.04.01 |
---|---|
C# 음성합성 프로그램 - TTS (0) | 2012.03.12 |
음성합성 프로그램을 만들어 봐야겠다. (0) | 2012.03.04 |
이미지 자동 병합 프로그램. (17) | 2012.03.02 |
MFC String.Format vs C# CString::Format (0) | 2012.02.28 |