DX11 입문서를 보면서 환경설정을 하고 디바이스 초기화 하는 부분을 따라서 코딩했더니 아래와 같은 경고가 떴다.
접기
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(12): warning C4005: 'DXGI_STATUS_OCCLUDED' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50092) : 'DXGI_STATUS_OCCLUDED'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(13): warning C4005: 'DXGI_STATUS_CLIPPED' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50101) : 'DXGI_STATUS_CLIPPED'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(14): warning C4005: 'DXGI_STATUS_NO_REDIRECTION' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50110) : 'DXGI_STATUS_NO_REDIRECTION'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(15): warning C4005: 'DXGI_STATUS_NO_DESKTOP_ACCESS' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50119) : 'DXGI_STATUS_NO_DESKTOP_ACCESS'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(16): warning C4005: 'DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50128) : 'DXGI_STATUS_GRAPHICS_VIDPN_SOURCE_IN_USE'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(17): warning C4005: 'DXGI_STATUS_MODE_CHANGED' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50137) : 'DXGI_STATUS_MODE_CHANGED'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(18): warning C4005: 'DXGI_STATUS_MODE_CHANGE_IN_PROGRESS' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50146) : 'DXGI_STATUS_MODE_CHANGE_IN_PROGRESS'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(21): warning C4005: 'DXGI_ERROR_INVALID_CALL' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50161) : 'DXGI_ERROR_INVALID_CALL'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(22): warning C4005: 'DXGI_ERROR_NOT_FOUND' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50170) : 'DXGI_ERROR_NOT_FOUND'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(23): warning C4005: 'DXGI_ERROR_MORE_DATA' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50179) : 'DXGI_ERROR_MORE_DATA'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(24): warning C4005: 'DXGI_ERROR_UNSUPPORTED' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50188) : 'DXGI_ERROR_UNSUPPORTED'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(25): warning C4005: 'DXGI_ERROR_DEVICE_REMOVED' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50197) : 'DXGI_ERROR_DEVICE_REMOVED'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(26): warning C4005: 'DXGI_ERROR_DEVICE_HUNG' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50206) : 'DXGI_ERROR_DEVICE_HUNG'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(27): warning C4005: 'DXGI_ERROR_DEVICE_RESET' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50216) : 'DXGI_ERROR_DEVICE_RESET'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(28): warning C4005: 'DXGI_ERROR_WAS_STILL_DRAWING' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50225) : 'DXGI_ERROR_WAS_STILL_DRAWING'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(29): warning C4005: 'DXGI_ERROR_FRAME_STATISTICS_DISJOINT' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50235) : 'DXGI_ERROR_FRAME_STATISTICS_DISJOINT'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(30): warning C4005: 'DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50244) : 'DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(31): warning C4005: 'DXGI_ERROR_DRIVER_INTERNAL_ERROR' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50254) : 'DXGI_ERROR_DRIVER_INTERNAL_ERROR'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(32): warning C4005: 'DXGI_ERROR_NONEXCLUSIVE' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50263) : 'DXGI_ERROR_NONEXCLUSIVE'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(33): warning C4005: 'DXGI_ERROR_NOT_CURRENTLY_AVAILABLE' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50272) : 'DXGI_ERROR_NOT_CURRENTLY_AVAILABLE'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(34): warning C4005: 'DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50282) : 'DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\dxgitype.h(35): warning C4005: 'DXGI_ERROR_REMOTE_OUTOFMEMORY' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50291) : 'DXGI_ERROR_REMOTE_OUTOFMEMORY'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d11.h(917): warning C4005: 'D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50469) : 'D3D11_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d11.h(918): warning C4005: 'D3D11_ERROR_FILE_NOT_FOUND' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50478) : 'D3D11_ERROR_FILE_NOT_FOUND'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d11.h(919): warning C4005: 'D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50488) : 'D3D11_ERROR_TOO_MANY_UNIQUE_VIEW_OBJECTS'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d11.h(920): warning C4005: 'D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50497) : 'D3D11_ERROR_DEFERRED_CONTEXT_MAP_WITHOUT_INITIAL_DISCARD'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d10.h(608): warning C4005: 'D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50445) : 'D3D10_ERROR_TOO_MANY_UNIQUE_STATE_OBJECTS'의 이전 정의를 참조하십시오.
1>c:\program files (x86)\microsoft directx sdk (june 2010)\include\d3d10.h(609): warning C4005: 'D3D10_ERROR_FILE_NOT_FOUND' : 매크로 재정의
1> C:\Program Files (x86)\Windows Kits\8.1\Include\shared\winerror.h(50454) : 'D3D10_ERROR_FILE_NOT_FOUND'의 이전 정의를 참조하십시오.
접기 빌드가 안되는 것은 아니지만 찝찝했기 때문에 이리저리 설정을 바꿔보기도 하고 인터넷도 찾아보고 하다가 DX SDK가 Windows SDK에 포함되었다는 글을 보게 되었다.
로 고쳤더니 에러도 사라지고 잘 컴파일 된다.