Exe 또는 DLL 파일과 해당 솔루션을 컴파일하고 생성한 후 Matlab 2017b를 실행할 수 없습니다.
문제 원인
이 문제는 Windows system32 디렉터리에 있는 두 DLL 파일의 버전이 너무 낮기 때문에 발생합니다. 이 두 파일은 SSLEAY32.DLL과 LIBEAY32.DLL입니다. .
이 두 파일은 MATLAB 설치 디렉터리의 \bin\win64 디렉터리에서도 사용할 수 있습니다. \bin\win64 디렉터리가 시스템의 PATH 변수에 추가되었습니다. 하지만 Matlab으로 컴파일된 exe 프로그램이 실행되면 system32 디렉터리의 우선순위가 높아 system32 디렉터리에 있는 이 두 파일을 사용하게 되어 초기화 오류가 발생하고 바로 충돌이 발생하게 됩니다.
해결 방법
이 이유를 알면 두 가지 해결 방법이 있습니다.
(1) SSLEAY32를 변경하면 DLL과 LIBEAY32.DLL이 Windows의 system32 디렉터리에 복사됩니다. , 파일의 이전 버전을 덮어씁니다. 그러나 이 두 DLL 파일을 사용하는 다른 프로그램에서는 문제가 발생할 수 있습니다.
(2) Matlab 설치 디렉터리 \bin\win64에 있는 SSLEAY32.DLL, LIBEAY32.DLL 파일을 컴파일된 exe와 동일한 디렉터리에 복사하여 실행 시 exe 파일이 자체 디렉터리를 찾도록 합니다. . windows\system32 디렉토리에 있는 이 두 DLL 파일은 사용되지 않습니다.
-----------
원문: /hongandyi/article/details/79427078