이번 포스트에서는 개발한 프로젝트를 다른 PC에 적용하는 과정에서 발생될 수도 있는 DLL 관련 Error 해결 방안에 대해 다뤄보도록 하겠습니다.
프로그램을 열심히 개발한 후에 빌드까지 수행하고 생성된 산출물들을 다른 PC에서 실행시키려고 할 때 갑자기 ""DLL을 찾을 수 없습니다."라고 Error가 발생되면 '아차' 싶습니다. 필요한 DLL을 다 넣어는데도 그러면 정말 짜증 나고요.
DLL을 사용할 경우, 사용하는 PC에 따라 DLL이 필요로 하는 Package가 설치되어 있지 않을 수도 있습니다. 따라서 사용하고자 하는 DLL의 의존 Package를 검사하고 해당 부분을 설치하는 과정에 대해 다뤄보도록 하겠습니다.
여러 가지 방법이 있겠지만, Dependency Walker 또는 Dependencies 프로그램을 통해 DLL 의존성을 확인할 수 있습니다.
각 프로그램의 다운로드 링크는 다음과 같습니다.
Dependency Walker Link : http://www.dependencywalker.com
Dependencies Link : https://github.com/lucasg/Dependencies
Dependencies의 경우는 Github Link에서 사용법을 확인할 수 있으니 넘어가고, Dependency Walker를 간단하게 사용해보도록 하겠습니다.
Dependency Walker를 통해 DLL 의존성을 확인하기 위해서는 File > Open에서 확인하고자 하는 DLL 또는 EXE 파일을 선택합니다.
왼쪽 상단에 "?"로 누락된 DLL을 확인할 수 있습니다. 중앙 부분에서는 누락된 상세 Module을 확인할 수 있습니다.
위의 샘플 이미지에서는 opencv_world300.dll이 누락되었다고 하였으므로 opencv 3.0을 설치하면 됩니다. MS_WIN~~.dll과 같은 보통의 경우, C++ 또는 C# Runtime Package를 설치하면 해결된다고 합니다.
위 프로그램을 사용해보아도 누락된 DLL에 대한 이름만 알 수 있고 해당 DLL은 개발자가 직접 찾아야 한다는 단점이 있습니다.
모든 Error는 해결하는데 대부분 삽질이 필요한 것 같습니다.
다행히 여러 방법으로 해결을 시도해볼 수는 있으니 다행인 것도 같지만요.
이번 포스트는 여기서 마무리하도록 하겠습니다.
'Programming > Error, Language, Environments' 카테고리의 다른 글
[C#] Redirection을 이용한 Communication 방법 (0) | 2023.02.17 |
---|---|
[OpenCV] Anaconda 가상 환경에 Python OpenCV 설치 (0) | 2023.01.12 |
[Anaconda] Python 가상 환경 구축 (0) | 2023.01.12 |
[Anaconda] Python 사용을 위한 Anaconda 환경 구축 (0) | 2023.01.12 |
[Azure STT] STT 프로그램이 갑자기 꺼지는 현상 해결 (0) | 2023.01.06 |
댓글