fatal error C1189

2013. 8. 20. 16:50프로그래밍

반응형
SMALL

fatal error C1189 


이 에러는 뭔가 헤더버전이 중첩될때 나타난는 듯하다.


d3d10.h is included before d3d10_1.h, and it will confuse tools that honor SAL annotations. If possibly targeting d3d10.1, include d3d10_1.h instead of d3d10.h, or ensure d3d10_1.h is included before d3d10.h


라는 메세지가 나왔는데


d3d10을 인크루드하고 있는데, d3d10_1 의 이전버전이다 

라는 내용인듯...


이 때 사용하는 라이브러리에서 d3d10_1을 헤더로 코어에서 사용하고 있었기 때문에 

나는 두가지 가설을 생각해보았다. 


1. 라이브러리와 동일한 헤더를 사용하던가

2. 상위버전의 헤더를 인크루드하여야 한다.


이번경우엔 두가지가 동일한 방법이기때문에 d3d10 대신 d3d10_1을 인크루드함으로 문제를 해결했다.


이것이 상위버전을 사용하는 경우 후에도 상위버전을 사용하라는 것인지, 

모든 곳에서 버전을 맞추라는 말인지는 확인해보지 못했지만, 

이처럼 버전은 다르나 동일한 내용의 헤더를 사용할 때 중첩되어 에러가 발생하는 듯.

반응형
LIST