4
라이브러리에 컴파일중인 코드 기반이 있습니다. 일반적으로 도서관을 MSVC++ 10.0 _MSC_VER == 1600 (Visual Studio 2010)
으로 보내 겠지만 고객이 MSVC++ 11.0 _MSC_VER == 1700 (Visual Studio 2012)
으로 요청하고 있습니다.lib의 MSC_VER 감지
Visual Studio 2012로 내 Lib의 새 버전을 다운로드하여 설치하고 컴파일했습니다. 이제 lib에 현재 _MSC_VER 버전이 있는지 확인하여 올바른 버전을 보내고 있는지 확인하고 싶습니다.
_MSC_VER가 라이브러리에서 사용되는 것을 어떻게 감지합니까?
.lib의 함수를 사용하는 간단한 테스트 프로그램을 작성하십시오. .lib의 * old * 버전과 링크하여 고객이 얻는 링커 오류가 발생하는지 확인하십시오. 이제 * new * 버전과 링크하여 링커 오류가 발생하지 않는지 확인하십시오. –
@HansPassant 라이브러리의 _MSC_VER를 감지 할 수있는 도구가 있어야합니다. 내 lib에 _MSC_VER를 감지하는 응용 프로그램을 만드는 것은 나에게 해킹처럼 보입니다. –
예, 해당 도구는 "링커"라고합니다. 이것은 오류를 생성하는 것입니다. 정말로 원한다면 notepad.exe를 사용할 수 있습니다. FAILIFMISMATCH를 검색하십시오. 오래된 .lib에서 찾을 수 있습니다. –