Window7 의 새로운 API Direct2D라는 것이 있습니다. 이것은 DirectX2D 기능을 Win32 API로 사용할 수 있는 것입니다.

 

저는 가장 최신의 Windows SDK설치 후 Visual Studio 2010 Beta1에서 Direct2D 예제를 빌드 해보니 빌드는 아주 잘 되었으나 실행이 제대로 되지 않았습니다.

이유는 D2D1CreateFactory 함수에서 에러가 발생했기 때문입니다. 에러는 I_GNOINTERFACE 였습니다. 처음에는 이유를 모라서 헤맸는데 검색을 해보니 인터페이스의 버전이 틀렸기 때문이었습니다.

 

제 PC에는 Windows SDK가 6.0A, 7.0, 7.0A 이렇게 총 3개가 설치 되어있어서 lib 파일과 헤더 파일의 버전이 서로 다르게 링킹 되었던 것 같더군요.

그래서 수동으로 lib 파일과 헤더 파일을 7.0으로 맞추니 문제 없이 실행 되었습니다.

 

Direct2D의 D2D1CreateFactory에서 실패가 발생하는 분들은 헤더 파일과 lib 파일의 디렉터리를 같은 SDK 디렉터리로 맞추면 아마 문제가 없을 것입니다.

저작자 표시
신고
by 흥배 2009.09.21 01:59
| 1 |