2017-01-20 18 views
1

게임 패드 클래스에 DirectXTK 라이브러리를 사용하고 있습니다. 나는이 클래스 안에서만 라이브러리를 컴파일하고 작동합니다.CoInitialize가 호출되지 않았습니다. - 라이브러리가없는 DirectXTK에서 gamepad.h를로드합니다.

라이브러리가없는 프로젝트에만 소스 파일을 추가하면 크기는 ~ 500KB가 아닌 ~ 50KB가됩니다. 그러나 다음과 같은 오류가 나타납니다.

CoInitialize has not been called 

내 실행 파일 크기를 줄이는 방법에 대한 아이디어가 있습니까?

+0

답변이 아니기 때문에 "size matters not"라고 말하면됩니다. Yoda뿐만 아니라 개발자에게도 도움이됩니다. 50K 또는 500K? 아무도 신경 쓰지 않을거야. – nvoigt

답변

2

글쎄, main의 첫 번째 질문은 CoInitialize입니다.

int main() 
{ 
    CoInitialize(NULL); 

    // your code 

    return 0; 
} 
+0

안녕하세요, 감사합니다. 나는 그것을했고, 프로젝트는 컴파일된다. 그러나 라이브러리가있는 프로젝트가이를 감지하지 못하면 게임 패드가 감지되지 않습니다. – Z0q

+0

@ Z0q 라이브러리는 아마도이 초기화 이외의 다른 작업을 수행하더라도 오류를 발생시키지 않을 것입니다. 도서관의 출처를보고 확인할 수 있습니까? 예를 들어,'CoInitialize'에 대한 호출이 어딘가에서 발생 했어야합니다. 소스를 찾을 수 있다면, 누락 된 것을 찾을 수 있습니다. – nvoigt

+0

이 함수는 라이브러리 소스에서 호출되지 않습니다. 그러나 "// 참고 : 응용 프로그램이 이미 CoInitializeEx를 호출했다고 가정합니다."라는 소스 파일 중 하나에서 찾은 메모가 하나 있습니다. – Z0q