スタンドアロンアプリ​ケーションが起動に失​敗し"The operating system cannot run %1"というエラーになるのはなぜですか?

MATLAB Compilerを使用してスタンドアロンアプリケーションを作成しましたが、実行時に以下のようなエラーとなります。
 
Fatal Internal Error: std::exception: Loading C:\Program Files\MATLAB\R2017a\bin\win64\matlab_startup_plugins\lmgrimpl\libmwlmgrimpl.dll failed with error: The operating system cannot run %1.

 Respuesta aceptada

MathWorks Support Team
MathWorks Support Team el 2 de En. de 2018

0 votos

原因:
このエラーは使用中のコンピュータのWindows\system32 フォルダ内に古いバージョンのssleay32.dll およびlibeay32.dllが存在している場合に現れることがあります。
 
回避方法:
  1. MATLABの環境(<MATLABインストールフォルダ>\bin\win64)内にあるSSLEAY32.DLL および LIBEAY32.DLLファイルを実行形式ファイル(EXE)と同じフォルダにコピーします。実行形式ファイルのあるフォルダがsystem32フォルダよりも優先順位が高い場合、この方法により必要なDLLを確実に使用することができます。
 
  1. もう一つ、SSLEAY32.DLL および LIBEAY32.DLL をsystem32フォルダから削除する方法もあります。この方法により実行形式ファイルはMATLABに含まれたDLLのみを使用することになりますが、system32フォルダに格納されたこれらのDLLがほかのアプリケーションから使用されている場合は、それらのアプリケーションに影響を与えることになります。このため、別の方法としてこれらのDLLファイルを新しいバージョンに置き換えるという方法もあります。
 
 PS: もし、確実に原因を調査する場合は Dependency Walkerを使用して、どのようなSSLEAY32.DLL および LIBEAY32.DLLが(MATLAB環境またはMCR環境以外の)どのようなフォルダロードされているかを確認する方法があります。
この現象はlibmwlmgrimpl.dllファイルがロードされる前に発生します。最初にPOCOライブラリがロードされ、その次にlibmwlmgrimpl.dllがロードされますが、libmwlmgrimpl.dllはPOCOライブラリを使用するためPOCOのロードに失敗するとlibmwlmgrimpl.dllのロードでエラーとなります。
 
 

Más respuestas (0)

Categorías

Más información sobre MATLAB Compiler en Centro de ayuda y File Exchange.

Productos

Versión

R2017a

Etiquetas

Aún no se han introducido etiquetas.

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!