[문제]
gpc64.dll을 이용한 프로그램을 다른 컴퓨터에서 실행했더니, 제목과 같은 에러 메시지가 발생했다.
실행시켰을 때의 에러 메시지
디버깅했을 때의 에러 메시지
[환경]
Windows 10 x64, Visual Studio 2019
[System.DllNotFoundExceoption 에러 원인]
원인1. 문제의 에러 메시지는 gpc64.dll 파일이 없기 때문에 표시된다.
-> 그런데 해당 폴더에 dll 파일이 존재할 때도 에러가 발생할 수 있다.
원인2. 이 때, 해당 dll(여기서는 gpc64.dll)이 의존하고 있는 dll이 없어도 똑같은 에러가 발생한다.
-> 해당 dll에 의존하는 모든 dll이 설치되지 않았기 때문에 이런 에러가 발생한다.
[해법]
depends.exe(Dependency Walker) 를 이용해서 누락된 DLL을 확인할 줄 알았는데, 이를 계승한 새 프로그램(Download here )으로 확인하였다.
확인한 결과, 나의 경우 C++재배포가능패키지가 없었다. 그래서 다음 링크에서 재배포가능패키지를 설치한다.
Install Microsoft Visual C++ 2019 Redistributable Package on the user’s machine
https://support.microsoft.com/ko-kr/help/2977003/the-latest-supported-visual-c-downloads
[교훈]
DLL을 사용할 때, 의존성 여부도 확인해야 한다.
[참고 사이트]
https://www.sysnet.pe.kr/2/0/713
https://stackoverflow.com/questions/14587775/system-dllnotfoundexception-unable-to-load-dll-no-errors-in-dev-machine-but-er
You must be logged in to post a comment.