[유니티/OpenCV] 컴퓨터에 opencv_world341d.dll이(가) 없어 프로그램을 시작할 수 없습니다

프로그래밍/유니티2018. 4. 9. 10:59

안녕하세요. 개발자 드리머즈입니다.


유니티에서 외부 애셋을 쓰지 않고 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(320240), CV_8UC3, cv::Scalar(00255));
    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_DIRC:\opencv\build 로 정의한 다음에

사용자 변수(U)path

%OPENCV_DIR%\x64\vc15\bin를 추가했습니다.


이렇게 설정을 바꾸고 난 다음에는 켜져있는 비주얼 스튜디오를 다시 실행시켜주면 됩니다.



위의 사진이 실행화면입니다.


그런데 참 이상하네요.

환경 변수에는 등록을 안했다고 하더라도.. 비주얼 스튜디오의 프로젝트 설정에서


C/C++ > General > Additional Include Directories

Linker > General > Additional Library Directories

Linker > Input > Additional Dependencies


설정을 잘해줬기에 문제가 없을 거라고 생각했습니다.

그러나 지금 증상을 보면 위의 프로젝트 설정을 프로젝트 빌드시에만 영향을 주지만,

그 프로젝트를 결과물을 실행시킬 때는 제대로 영향을 못 주는 것 같습니다.


하나하나 정리해야겠습니다 ㅜㅜ

작성자

Posted by 드리머즈

관련 글

댓글 영역