2014-10-18 2 views
0

libcurl.dll (런타임에 동적 연결)을 사용하는 Visual Studio 2008 프로젝트가 있습니다. libcurl.dll을 최신 버전으로 업데이트하고 싶습니다. 나는 수동으로 파일 시스템의 DLL을 교체, 청소 및 솔루션을 내장. 그러나 디버그하는 동안 프로젝트를 찾을 수 없습니다 libcurl.dllVisual Studio에서 종속성 DLL 바꾸기

편집 : 새 DLL은 libssh2의 추가 종속성으로 작성되었습니다. 새 DLL을 사용하기 위해 내가해야하는 모든 변경 사항은 무엇입니까?

Visual Studio 2008에서 DLL을 올바르게 업그레이드하는 방법은 무엇입니까?

답변

2
  • DLL 관련 문제를 찾으려면 Dependency Walker을 사용하십시오.
  • 32 비트/64 비트 시스템 경로가 문제를 일으키는 지 확인하십시오.
  • 종속 DLL이 문제를 일으키고 있는지 확인하거나 DLL의 DllMain이 실패를 반환하는지 확인하십시오.
+0

감사합니다. 종속 DLL은 libssh2의 추가 종속성으로 빌드되었습니다. 나는 이것을 포함하도록 질문을 업데이트 할 것이다. 작동시키기 위해 필요한 것은 무엇입니까? –

1

DLL은 실행 파일과 동일한 방식으로로드됩니다. 그들은 같은 디렉토리에 있거나 % PATH %로 액세스 할 수 있어야합니다.

다음 가이드 라인을 따르면 VS가 찾아냅니다. 대부분 다른 뭔가를 엉망으로 만든 것 같아.

DLL을 교체 할 때 다시 빌드 할 필요가 없습니다.

buid하면 헤더와 .lib 파일이 사용됩니다. 새 DLL에 동일한 항목이있는 경우 DLL 파일을 바꾸고 응용 프로그램을 다시 시작할 수 있습니다.

새 DLL에 다른 항목 또는 다른 유형의 매개 변수가있는 경우 새로운 헤더와 새 .lib가 필요하며 다시 작성해야합니다.

+0

감사합니다. 나는 그 질문을 수정할 것이다. 새 DLL은 다른 종류의 매개 변수를 사용하여 작성되었습니다. 새 dll은 libssh2의 종속성으로 빌드되었습니다. 작동하게하려면 무엇을해야합니까? –

+1

사용 가능한 정보에서 무엇이 진행되고 있는지 정확하게 말하기는 어렵습니다. 다른 대답의 조언을 사용하십시오. 또한 시도해 볼 수 있습니다 : exe와 모든 필수 DLL을 하나의 디렉토리에두고 실행 해보십시오. 이렇게하면 DLL 검색 측면을 DllMain 반환 코드와 같은 다른 문제와 구분할 수 있습니다. –

+0

당신이 옳습니다. Dependency Walker를 사용해 보았는데, 반드시 배치해야하는 종속 DLL이 있다는 것을 알게되었습니다. 감사! –