2017-10-25 19 views
1

원래 Visual Studio 2010에서 작성한 프로그램을 대상 2017로 업그레이드하려고 시도 할 때 odbccp32.lib를 연결할 때 LNK1103 오류가 발생합니다. :Visual C++를 사용하여 ODBCCP32.lib를 연결할 때 LNK1103 디버그 모드에서 XP (v141_xp)를 대상으로 지정

debugging information corrupt; recompile module

나는 기존 정적 라이브러리와 기호 문제를 해결하는 데 필요한 것 같다 legacy_stdio_definitions.lib을 포함,하지만 난 여전히 디버그 정보에 대한 오류가 발생합니다.

릴리스 빌드가 정상적으로 작동합니다.

답변

2

특정 Visual Studio 2017 버전의 컴파일러 문제입니다. 버전 15.3 및 15.4에이 문제가 있으며 디버그 모드가 아닌 버전에서의 링크가 부족하여이 중 좋은 해결책을 찾지 못했습니다. 컴파일러 버전.

그러나이 문제를 자세히 설명하는 Developer Community 스레드가 있는데, 이는 Visual Studio 2017 버전 15.3.x 및 15.4.x를 사용하여 링크 할 때 많은 레거시 라이브러리에 영향을 미칩니다.

해당 스레드의 MSFT 직원에 따르면 문제는 15.5에서 해결됩니다. 위 링크 된 스레드에서 :

용광주 [10 월 4 일 11:08 AM] 감사합니다. 이 문제는 VS 2017 업데이트 5에서 수정되었습니다.

현재 15.5 미리보기 버전을 설치하고 라이브러리를 성공적으로 연결하면이 문제를 확인할 수있었습니다.

이 주제에 대한 기존 검색 정보가 극도로 열리지 않기 때문에이 질문과 답변을 추가했습니다.

+0

이것은 충분한 오류 분석이 아닙니다. 이슈가 뭐야? 진단하기 위해 당신은 무엇을 했습니까? 어떤 결과를 얻었습니까? 공식 성명서가 있습니까? – IInspectable

+0

충분히 공정합니다. 내가 가지고있는 세부 사항으로 답변이 업데이트되었습니다. 이것이 내부 링커 오류 였기 때문에 내가 지나쳐 버리려 고 노력했던 것 (비 디버그 모드로 연결하는 것 이외에는 작동하고 언급 한 것 외에는)은 적절하다. – mwigdahl

+0

그게 더 좋습니다. 여전히 불행한 점은 MSFT에서 버그 자체에 대해 알려주는 세부 사항이 없으며 그 원인이 무엇인지, 영향을받는 빌드 구성 라이브러리가 있는지 여부입니다. – IInspectable