LNK4006: __NULL_IMPORT_DESCRIPTOR already defined
프로그래밍 :
2006/08/02 17:18
| static 라이브러리를 제작하다보면 가끔 아래와 같은 경고를 만난다. LNK4006: __NULL_IMPORT_DESCRIPTOR already defined 경고에서 말하는데로 __NULL_IMPORT_DESCRIPTOR가 이미 정의 되어있다는 이야기이다.. 이럴 경우에는 이것을 확인해보아라.. "static라이브러리에서 다른 라이브러리를 종속성으로 포함하고 있지 않은지.." static라이브러리는 그야말로 컴파일된 소스의 obj파일들을 하나로 묶어놓은 파일이므로 다른 라이브러리에 특정한 값이 정의되어있다면 당연히 중복이 되어 경고가 나타나는 것이다.. 위의 경고 또한 그것이다. __NULL_IMPORT_DESCRIPTOR가 포함된 다른 라이브러리를 같이 포함하도록 라이브러리 생성 옵션에 지정했을 경우 나타나는 경고이다. 이를 해결하기 위해서는 static라이브러리 생성 옵션에서 종속 라이브러리에 있는 모든 라이브러리를 제거 하면 해결이 된다. 그리고 static라이브러리의 종속 라이브러리로 지정된 라이브러리는 최종 실행 형태 파일의 링커 옵션에 지정하도록 한다. 사실 링크할 라이브러리는 static라이브러리에서 종속 라이브러리로 지정하는게 아니라 이 라이브러리를 사용하는 최종 실행 형태 파일의 링커 옵션에 넣는것이 이치에 맞기 때문이다. |





댓글을 달아 주세요
나는 너에 합의한다 이다. 그것은 이렇게 이다.
that is that i agree with you.