독립 실행 형 exe를 생성하도록 프로그램을 컴파일하려고합니다. 실제로 2 문제가 있습니다 :정적 링크로 컴파일 VS2015
속성 -> C/C++ -> 코드 생성 -> 런타임 라이브러리로 이동하여 멀티 스레드 (/ MT)로 변경했습니다.
내가 이런 짓을 한 후, .EXE의 크기가 증가하지만 다른 컴퓨터에서 사용하려고 할 때, 오류가 "이 프로그램을 실행할 수 없습니다, 당신은라는 이름의 DLL이 필요합니다 msvcp140d.dll"
이것은 두 가지 문제입니다. 왜 내가 릴리스 버전을 컴파일하고 있기 때문에 DLL의 디버그 버전을 사용해야하는지 이해하지 못합니다. 그리고 생각한 이후로 DLL을 사용하도록 요청하는 이유를 이해하지 못합니다. 그들은 정적으로 링크되어 있습니다 : :
추신 : 나는 OpenCV3.0 프로젝트를 컴파일하려고합니다. 도움이되는지 아닌지 모르겠습니다./
EDIT : 한 가지 문제가 해결되었습니다. 릴리스 링커에서 opencv_imgproc310d.dll을 사용하여 MSVCP140d.dll을 사용하여 프로그램을 작성했습니다. 이제는 exe가 독립 실행 형이 아닌 문제가 있습니다. DLL이 작동해야합니다. (내 VS를 최신 버전으로 업데이트 했으므로 최신 버전이 있습니다.) 감사합니다
내가 알고있는 한 멀티 스레드를 사용한다고해서 정적 런타임을 사용하는 것은 아닙니다. 그것은 다른 것입니다. –
http://stackoverflow.com/questions/20890458/compile-c-in-vs-without-requiring-msvcp120d-dll-at-runtime 이 게시물에서이 솔루션을 보았습니다./ –