'LINK2019'에 해당되는 글 1건

  1. [Direct3D] Matrices 예제 LINK2019 Error

음...=_=;;;


해골책... 예제는 따라쳐도 LINK Error....

해결법은 책에 안나오고.... 하라는말도 없고....


error LNK2019: _Direct3DCreate9@4 외부 기호(참조 위치: "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAJPAUHWND__@@@Z) 함수)에서 확인하지 못했습니다.

error LNK2019: _D3DXMatrixPerspectiveFovLH@20 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.

error LNK2019: _D3DXMatrixLookAtLH@16 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.

error LNK2019: _D3DXMatrixRotationY@8 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.

error LNK2019: __imp__timeGetTime@0 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.


Tutorial 3번 Matrices을 컴파일 하다보면 위와같은 Error를 만나게 된다....


일단

error LNK2019: _Direct3DCreate9@4 외부 기호(참조 위치: "long __cdecl InitD3D(struct HWND__ *)" (?InitD3D@@YAJPAUHWND__@@@Z) 함수)에서 확인하지 못했습니다.

위 애러는... 


지난 게시글인

[Direct3D] DivecCreate LNK2019, LNK1120, C2440, C2664 Error 해결법

을 확인하면 알수있듯..

"속성->구성속성->링커->입력->추가 종속성"에 d3d9.lib를 추가해주면 된다.



그 다음 애러인 

error LNK2019: _D3DXMatrixPerspectiveFovLH@20 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.

error LNK2019: _D3DXMatrixLookAtLH@16 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.

error LNK2019: _D3DXMatrixRotationY@8 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.

위 3가지 LINK Error는 이번 Tutorial 에서 d3d9.h가 아닌 d3dx9.h을 이용하면서 발생...


편집창을 확인하면 

#include <d3dx9.h>와 D3DX~부분이 빨간 밑줄 표시 되어있을것이다...

(아니라면 아래 단계중 포함디렉터리 부분은 패스해도 상관없을것으로 예상...)




해결 방법은 위 그림과 같이

"속성->구성속성->VC++ 디렉터리" 에서

포함디렉터리에 $(DXSDK_DIR)Include

참조디렉터리에 $(DXSDK_DIR)Lib\x86 또는 $(DXSDK_DIR)Lib\x64 (운영체제가 32bit이면 x86, 64bit이면 x64)

를 추가하고




"속성->구성속성->링커->입력->추가 종속성"에 d3dx9.lib를 추가해주면 된다.


마지막으로 

error LNK2019: __imp__timeGetTime@0 외부 기호(참조 위치: "void __cdecl SetupMatrices(void)" (?SetupMatrices@@YAXXZ) 함수)에서 확인하지 못했습니다.

이 애러는 TimeGetTime함수를 사용하기 위해서 포함한 mmsystem.h 때문에 생긴 애러로...




"속성->구성속성->링커->입력->추가 종속성"에 winmm.lib를 추가해주면 된다.