测试失败
成功编译应用程序之后,下一步是在开发机器上测试它,并将它部署到目标机器上。通常,目标机器没有MATLAB®安装并要求Matlab运行时安装。分发包括应用程序运行所需的所有文件,其中包括可执行文件,可部署的存档和Matlab运行时.
控件上运行应用程序来测试开发机器上的应用程序Matlab运行时附带MATLAB编译器™.这将验证库依赖项是否正确,可部署的存档文件是否可以被提取,以及应用程序所需的所有MATLAB代码、mex文件和支持文件是否包含在存档文件中。金宝app如果在测试应用程序时遇到错误,右边列中的问题可以帮助您隔离问题。
您能够从哪里执行应用程序吗MATLAB?
在开发机上,您可以通过发出来测试您的应用程序的执行!
应用名称
MATLAB提示符。如果您的应用程序在MATLAB内执行,而不是从外部执行,这可能表明系统有问题路径
变量。
应用程序开始执行并导致MATLAB或其他错误吗?
确保在编译应用程序时包含了所有必要的文件(参见Readme.txt.
有关更多详细信息,请使用您的编译生成的文件)。
从你的主MATLAB文件中调用的函数会自动包含MATLAB编译器;但是,未显式调用(例如通过EVAL)的函数需要在编译时使用-一种
开关的MCC.
命令。此外,任何支持文件金宝app.mat
,。文本文件
,或. html
文件需要添加到存档中-一种
开关。MATLAB和相关工具箱的功能是有限制的,可以编译。检查文档,看看您的应用程序的MATLAB文件中使用的函数是有效的。检查文件mccExcludedFiles.log
在开发机上。此文件列出了从应用程序调用的所有无法编译的函数。
你有多重吗MATLAB版本安装吗?
生成的可执行文件MATLAB编译器旨在在安装多个版本的MATLAB的环境中运行。一些旧版本的MATLAB可能无法与此架构完全兼容。
在Windows上®,确保matlabroot.
\ runtime \ win64
您正在编译的MATLAB版本的代码出现在前面matlabroot.
\ runtime \ win64
其他版本的MATLAB安装在路径
机器上的环境变量。
同样,在UNIX上,确保动态库路径(LD_LIBRARY_PATH
在Linux上®)匹配。通过比较输出printenv !
在MATLAB提示和printenv
在shell提示符下。使用此路径可以使用MCC.
从操作系统命令行。
如果您正在测试一个独立的可执行或共享库和驱动程序应用程序,您是否安装了MATLAB运行时?
文件中包含独立可执行程序库或共享库所需的所有共享库Matlab运行时.安装Matlab运行时任何部署目标都需要。
您是否收到关于丢失DLL的错误消息?
错误消息指示缺少DLL,例如mclmcrrt7x.dll.
或者mclmcrrt7x.so.
一般是由于安装不正确造成的吗Matlab运行时.也有可能Matlab运行时正确安装,但那路径
,LD_LIBRARY_PATH
,或DYLD_LIBRARY_PATH
变量设置不正确。有关安装的信息Matlab运行时在部署机器上,请参见安装和配置MATLAB运行时.
谨慎
将库或其他文件移动到Matlab运行时文件夹结构。这个系统是为了适应不同的环境而设计的Matlab运行时在同一台机器上运行的版本。文件夹结构是该特性的重要组成部分。
系统的显卡支持图形应用程序吗?金宝app
在现有硬件显卡不支持图形应用程序的情况下,您应该使用Software OpenGL。金宝app通过附加可将OpenGL库可见matlab / sys / opengl / lib /拱门
到LD_LIBRARY_PATH
.例如:
setenv ld_library_path $ ld_library_path:matlab / sys / OpenGL / lib /拱
对于Linux中的MATLAB图形问题,设置环境变量LD_LIBRARY_PATH
:
setenv LD_LIBRARY_PATH MATLAB / sys /美元opengl / lib / glnxa64: LD_LIBRARY_PATH美元
OpenGL是否正确安装在系统上?
当搜索OpenGL库时Matlab运行时首先要查找系统库路径。如果在那里找不到OpenGL,它将使用它LD_LIBRARY_PATH
环境变量来定位库。如果由于未找到OpenGL库而导致的失败,则可以将OpenGL库的位置附加到LD_LIBRARY_PATH
环境变量。例如:
setenv ld_library_path $ ld_library_path:matlab / sys / OpenGL / lib /拱