2009-06-17 5 views
0

많은 제 3 자 .lib 파일과 연결 중이며 링크시 많은 수의 LNK4099 경고가 표시됩니다. 이 경고 메시지는 울리지 않을 것으로 보이므로 .lib 파일에서 모든 디버그 정보를 제거하면 경고가 표시되지 않습니다. 디버그 정보를 제거하는 방법이 있습니까? 이것들은 내가 소스 코드를 가지고 있지 않은 라이브러리들입니다.COFF 라이브러리 파일 (.lib)에서 디버그 정보를 제거 할 수 있습니까?

VS2005 C++ (물론 Windows)를 사용하고 있습니다.

답변

1

적어도 기존의 도구로는 가능하지 않다고 생각합니다. 공급 업체에 문의하여 디버그 정보없이 .lib 파일을 다시 작성하도록 요청하는 것이 좋습니다.

0

COFF 형식 - 유닉스에서 발견 된대로, 어떤 이유로 든 합리적으로 잘 조직되어 있습니다. 거기에 많은 섹션이 있습니다. 재료를 제거하는 데 사용할 수있는 '의견 조작 섹션'을위한 도구 mcs도있었습니다. 이 도구는 ELF (COFF의 확장 기능) 용 Solaris 및 기타 다른 곳에서 구할 수 있습니다.

이것은 프로그램을 찾고 MS 개체 파일에서 사용할 수 있다는 것을 의미합니다.

반면에 디버그 정보를 제거하면 불만 사항이 해결되지 않을 수 있습니다. 디버그 정보는 프로그램의 실행 (또는 링크)에 영향을 주어서는 안됩니다. 즉, Google 'microsoft lnk4009'를 통해 발견 된 정보는 결정적이지 않습니다. 두 항목이 나타나지만 둘 다 'LNK499'메시지가 아닌 'LNK4099'메시지를 표시합니다.

+0

오류는 LNK4099입니다. 나는 그 문제에서 그것을 고쳤다. – jmatthias

+0

올바른 오류 번호 (copy'n'paste보다 안전합니다)를 사용하면 Google 검색에서 @Rope가 가리키는 링크를 포함하여 더 많은 것을 찾습니다. –

0

나는 당신이 이미 MSDN에서이 페이지를 읽고 같아요

MSDN: Linker Tools Warning LNK4099

링크는 당신이있는 객체의 .pdb 파일이없는 경우 ...은/DEBUG 링커 옵션을 제거 "라고 말한다 링크. "