디버그 바이너리에서 타사 라이브러리의 릴리스 버전을 사용하는 것은 나쁜 습관입니까?디버깅과 릴리스 라이브러리/바이너리 혼합 - 나쁜 습관?
타사 라이브러리를 사용하고 릴리스 .lib 라이브러리를 컴파일했습니다. 내 exe는 디버그 모드 개발 중입니다. 내가 디버그와 릴리즈를 혼합하는 것을 시도하고 있기 때문에 즉 발견 된 일부 인터넷 검색 후
error LNK2038: mismatch detected for '_ITERATOR_DEBUG_LEVEL': value '0' doesn't match value '2' in test1.obj
을, 나는 아마 디버그 모드에서 라이브러리를 컴파일하거나 그렇지 않으면 _ITERATOR_DEBUG_LEVEL 매크로와 혼란한다 : 그럼 얻었다. 그러나 그 것이 권장 된 방법이고 왜 그런지 궁금합니다. 필자가 사용하고자하는 모든 타사 라이브러리에 대한 릴리스 및 디버그 바이너리 모두를 컴파일하고 보관해야하는 번거 로움이 있습니다.이 코드로 디버깅 할 의도는 없지만 곧 많은 작업이 수행됩니다.
이 타사에 연락하여 디버그 버전을 얻거나 직접 디버그 버전을 빌드 할 수 있습니까? –
그것은 나쁜 습관 이상의 것입니다 : 프로그램이 충돌하거나 나쁜 일을하는 것을 거의 보장합니다. VS2010 이전에는 런타임에 이상한 버그를 발견하기 위해 어쨌든 연결할 수있었습니다. 적어도 이제는 네가 막을 수있다. –
@JesseGood 예 소스 코드가 있는데 방금 디버그 버전을 컴파일했습니다. 문제 해결됨. 한 모드를 컴파일하고 추적 할 수 있는지 궁금합니다. 명백하게! –