[ide] visual studio에서 static library 에 있는 전역객체 강제 사용하기

http://thetweaker.wordpress.com/2013/04/06/forcing-construction-of-global-objects-in-static-libraries/

링킹하는 라이브러리에서 전역으로 생성되는 객체가 있을 때, 라이브러리를 가져다 쓰는 솔루션에서 해당 객체에 대한 레퍼런스가 없다면 링킹하는 중에 객체 생성 코드를 삭제한다. 위의 아티클은 객체 생성 코드를 삭제하지 않도록 하는 방법에 대해 알려준다. 한 가지 참고해야 할 것은 기사에 언급한 “Use Library Dependency Inputs” 항목은 project properties 의 configuration-> linker->general 에 위치한 항목이 아니라 project properties -> common properties -> Add New Reference 로 .lib 를 참조 등록한 다음 생성되는 Project Reference Properties -> Use Library Dependency Inputs 값을 활성화해야 한다. 한참 찾았다 -_-; 그나저나 다른 사람에게 전달하는 .lib 에 전역 객체 설정을 하는 거 자체가 틀려먹은 게 아닌가 싶긴한데… 나 같음 명시적으로 전역객체를 생성하는 함수를 호출하도록 문서화해서 전달하겠어. 기사에서는 유용하다고 하는데 언제 써먹을지는 아직 모르겠음.

댓글 남기기

이메일은 공개되지 않습니다. 필수 입력창은 * 로 표시되어 있습니다