2013-07-17 2 views
0

내 dev 컴퓨터에서 모든 것이 제대로 동작합니다. 내 테스트 컴퓨터에서 "Lib.dll 또는 해당 종속성 중 하나를 찾을 수 없습니다"라는 이유로 내 .exe를 실행할 수 없습니다. 그러나 Lib.dll은 .exe와 같은 디렉터리에 있으며 DLL과 EXE에 대해 CorFlags를 실행했습니다. 둘 다 "PE32"를보고하므로 32 비트가됩니다. Lib.dll에는 다른 종속성이 없습니다. 나는 그들 모두를 제거하고 테스트했다. 왜 또 실패 할까?DLL 또는 종속성 중 하나를로드 할 수 없습니다.

+0

실패한 시스템에서 * dependency walker *를 사용하십시오. 또한 * 융합 바인드 로그 *를보십시오. – user2246674

+2

종속성 검사기를 실행할 수 있습니까? VS는 depends.exe를 사용했고, 예를 들어 http://www.dependencywalker.com/을 보면 기본적으로 같습니다. – jwismar

+0

당신은 끔찍한 오류 메시지를 맹 글링했습니다. 물론 **이거나 그 종속성 중 하나가 발견되지 않았습니다. –

답변

0

의견에 제안 된 사람으로 dependencywalker을 사용했습니다. Dependencywalker는 Visual C++ 2012 재배포 가능 파일에 속한 것으로 추적 된 DLL이 누락되었음을 보여주었습니다. 따라서 테스트/프로덕션 컴퓨터에 Visual C++ Redistributable의 올바른 버전이 설치되어 있는지 확인하십시오. 또한 Visual Studio의 프로젝트를 디버그 모드에서 릴리스 모드로 전환했습니다. 이전 버전의 실수 였기 때문에 곧 실수를 다시하지 않을 것입니다. 프로젝트를 디버그 모드로두면 DLL 종속성은 릴리스 모드로 설정 한 경우와 약간 다릅니다. Visual C++ 재배포 가능 파일에는 디버그 DLL이없고 출시 용 파일 만 있습니다. 따라서 개발중인 시스템에 Visual Studio와 함께 설치된 디버그 DLL을 찾을 수있는 위치를 알지 못하는 경우 테스트를 진행하더라도이 변경이 필요할 수 있습니다.

관련 문제