동료가 소프트웨어를 개발할 때 복사하고 사용자 지정하는 VS .NET 2003 프로젝트 템플릿이 있습니다.Visual Studio .NET 2003 - libcmt 대 libcmtd의 특정 라이브러리 무시
릴리스 및 디버그 빌드 모두에 대해 libcmt.lib을 갖도록 IgnoreSpecificLibrary 속성을 설정하기 위해 템플릿이 잠시 동안 변경된 것 같습니다 (예 : 릴리스 및 디버그의 경우 빌드에서 링커의 libcmt.lib를 무시해야합니다).
일부 런타임 문제를 일으킨 것처럼 보이는 libcmtd.lib (프로젝트 .map 파일을 통해 보았을 때 분명 함)에서 릴리스 빌드가 빌드 된 이후 일부 프로젝트가 빌드되었습니다 (즉, 대화 창이 창이 깜박임). 중단 점이 설정된 것처럼).
libcmt.lib를 제외하도록 IgnoreSpecificLibrary를 설정하면 libcmtd.lib에 대한 프로젝트 링크가 자동으로 설정됩니까?
이상한 점은 libcmt.lib에 대한 템플릿 (잘못된 설정 포함)을 만드는 것이지만 사용자 정의 된 프로젝트 중 일부는 libcmtd.lib와 링크하는 반면에 이상한 점입니다.
아이디어가 있으십니까?
여기서 문제는 libcmt.lib가 아닌 libcmdt.lib로 컴파일된다는 것입니다. 이것이 내 혼란이있는 곳입니다. libcmt.lib를 무시한다고하면 libcmtd.lib가 제거 프로세스를 통해 링크됩니까? – tefd
그 후 개발자가 다른 라이브러리의 디버그 버전 (다시 릴리스 구성)과 연결되어 있다는 것을 알았습니다. 이것이 디버그 libcmtd를 잡아 당기는 방아쇠가 될 것입니까? – tefd
@tefd, libcmtd를 가져 오는 라이브러리의 디버그 버전에 대해 정확합니다. 릴리스 빌드를 얻을 수 있으면 문제를 해결해야합니다. 그렇지 않으면 무시 무시한 해킹이 발생합니다. – patrickvacek