티스토리 뷰
[원글 - 2013년 이글루스]
최신 Microsft 플랫폼 SDK를 설치해보면 ( v7.0 확인 )
내부에 DirectX가 기본적으로 들어있다
Direct Sound나 Direct Input을 사용하다 보면
가끔 COM 객체 할당에 아래와 같은 링크 에러를 볼 수 있는데
Error 3 error LNK2001: _IID_IDirectSoundNotify 외부 기호를 확인할 수 없습니다.
Error 4 error LNK2001: _IID_IDirectSoundBuffer8 외부 기호를 확인할 수 없습니다.
기본적으로 DirectX SDK가 깔려있는 상황에서는
dxguid.lib 를 링크 시킴으로서 해결되던 문제다
하지만 Microsoft 플랫폼 SDK에는 별도로 dxguid.lib가 존재하지 않는다
이럴 때는 다음과 같이 해주면 된다
사용하고자 하는 DirectX header 파일을 include 하기전에
InitGuid.h 파일을 include 한다
대게의 경우 이 단계에서 문제가 해결된다
경우에 따라서는 InitGuid.h 와 DirectX header 파일 Include 문 사이에
사용하고자 하는 DirectX COM의 Version을 Define 해줘야 할 수도 있다
====================================================================================
예>
일반적인 경우
#include <InitGuid.h>
#include <dinput.h>
#include <dsound.h>
와 같이 작성해주면 된다
간혹
#include <InitGuid.h>
#define DIRECTINPUT_VERSION 0x0800
#define DIRECTSOUND_VERSION 0x0800
#include <dinput.h>
#include <dsound.h>
와 같이 처리해 줘야 하는 경우도 있다
'개발 관련 정리 (구 블로그에서 백업) > 기타' 카테고리의 다른 글
[WEB] JS Event (0) | 2018.11.26 |
---|---|
MySql C 라이브러리 함수 만들다가 주의점 (0) | 2018.11.26 |
[MAYA 6.5] MEL 스크립트 이용해서 폴리곤 정보 추출하기 - 정점 + UV (0) | 2018.11.26 |
[MAYA 6.5] MEL 스크립트 이용해서 폴리곤 정보 추출하기 - 정점과 인덱스 (0) | 2018.11.26 |
댓글