[유니티/OpenCV] 컴퓨터에 opencv_world341d.dll이(가) 없어 프로그램을 시작할 수 없습니다
안녕하세요. 개발자 드리머즈입니다.
유니티에서 외부 애셋을 쓰지 않고 OpenCV를 돌려보기 위해 고생하고 있습니다.
너무나 오랜만에 비주얼 스튜디오 C++을 쓰고 여러 설정을 하다보니 기본적인 설정에서 삽질을 많이 하게 되네요.
일단 C++?코드에서 opencv코드를 잘 쓸 수 있나 테스트해봤는데.. 에러가 발생했습니다.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <opencv2/core/core.hpp> #include <opencv2/highgui/highgui.hpp> #include <iostream> using namespace cv; using namespace std; int main(int argc, char** argv) { cv::Mat redImg(cv::Size(320, 240), CV_8UC3, cv::Scalar(0, 0, 255)); cv::namedWindow("red", cv::WINDOW_AUTOSIZE); cv::imshow("red", redImg); cv::waitKey(0); cv::destroyAllWindows(); return 0; } | cs |
빌드 시에는 문제가 없었는데 실행을 시키면..
"컴퓨터에 opencv_world341d.dll이(가) 없어 프로그램을 시작할 수 없습니다. 프로그램을 다시 설치하여 이 문제를 해결하십시오."라는 에러가 발생했습니다.
참으로 난감했습니다. 몇 가지 삽질을 한 다음에 해결 방법을 알게됐습니다.
찾지 못하는 dll을 잘 찾을 수 있도록? 그 dll이 속하는 폴더를 환경 변수에 등록을 해야합니다.
이 부분을 간과했습니다.
저는 환경변수의 시스템 변수(S)에
OPENCV_DIR을 C:\opencv\build 로 정의한 다음에
사용자 변수(U)의 path에
%OPENCV_DIR%\x64\vc15\bin를 추가했습니다.
이렇게 설정을 바꾸고 난 다음에는 켜져있는 비주얼 스튜디오를 다시 실행시켜주면 됩니다.
위의 사진이 실행화면입니다.
그런데 참 이상하네요.
환경 변수에는 등록을 안했다고 하더라도.. 비주얼 스튜디오의 프로젝트 설정에서
C/C++ > General > Additional Include Directories
Linker > General > Additional Library Directories
Linker > Input > Additional Dependencies
설정을 잘해줬기에 문제가 없을 거라고 생각했습니다.
그러나 지금 증상을 보면 위의 프로젝트 설정을 프로젝트 빌드시에만 영향을 주지만,
그 프로젝트를 결과물을 실행시킬 때는 제대로 영향을 못 주는 것 같습니다.
하나하나 정리해야겠습니다 ㅜㅜ
댓글 영역