Interface dll missing error message from a Matlab compiled application

3 ビュー (過去 30 日間)
Nick B.
Nick B. 2016 年 7 月 25 日
コメント済み: Nick B. 2016 年 7 月 29 日
I have created a Windows application using the mcc compiler from 2013b. When I try to install it on machines that have already a later version of Matlab, 2016a, installed, my application cannot run and it gives the message "Interface dll missing". When the installation of my app is made to machines with Matlab 2013b, or no matlab at all, everything works fine.
Is there a trick that will fix this problem without having to change my 2013b compiler? I thought that by using mcc to bundle the application and installing it with the compatible mcr (2013b), my application was completely self sufficient and independent of anything else on the machine.

回答 (1 件)

Tushar Upadhyay
Tushar Upadhyay 2016 年 7 月 29 日
I believe that you are installing the Standalone application using the Installer which installs the specific MCR required for the application. Note that Standalone application requires the same version of MCR as the version of MATLAB in which it was compiled.
In your case, make sure that the path of the installed MCR(R2013b) is on top than MATLAB R2016b or MCR(r2016b) in the "PATH" environment variable in your system.
  2 件のコメント
Image Analyst
Image Analyst 2016 年 7 月 29 日
Are you sure that would matter? I don't think the MATLAB development environment uses the MCR. I know I have to install it separately - it's not needed for MATLAB alone (the development environment). If the target user DID install the 2016b prerelease MCR then what you say is probably true. But if they hadn't installed it then I'm not sure it's true and I'd need to see a more complete error message. Normally it would say something like "MCR version 7.x v2013 is missing" rather than "Interface dll missing" if it was an MCR version mismatch
Nick B.
Nick B. 2016 年 7 月 29 日
I tried the idea on a machine that did not exhibit the problem, as follows. I downloaded and installed MCR(2015b) and changed the path so that the 2015b appears before the 2013b (which is what I distribute to users with my app). I then rebooted to make sure the path had been freshly read. My app ran fine. If the order of the path values were the problem, I would have expected that simple test to give me the "interface dll missing" error. But it didn't. Next, I will try the trick with a machine that I know exhibits the problem and see if it works.

サインインしてコメントする。

カテゴリ

Help Center および File ExchangeIntroduction to Installation and Licensing についてさらに検索

タグ

Community Treasure Hunt

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

Start Hunting!

Translated by