Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/matlab/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
MATLAB编译器代码的文件寻址_Matlab_Matlab Deployment_Mcc - Fatal编程技术网

MATLAB编译器代码的文件寻址

MATLAB编译器代码的文件寻址,matlab,matlab-deployment,mcc,Matlab,Matlab Deployment,Mcc,在我的代码中,有一些函数需要寻址,如imshow或fopen文件。当我在MATLAB中使用我的程序时,我使用pwd像imshow([pwd'/image.jpg'])进行寻址,程序运行正常,但当我在安装后编译程序(重新分发)时,当我在桌面上打开快捷方式时,会出现一条错误消息,标题是我的程序找不到image.jpg。当我检查搜索地址时,如下所示: C:/User/Desktop/image.jpg 我读了这一页,但我不知道如何使用这个地址 除此之外,我不知道在MATLAB编译器选项中应该在哪里

在我的代码中,有一些函数需要寻址,如
imshow
fopen
文件。当我在MATLAB中使用我的程序时,我使用
pwd
imshow([pwd'/image.jpg'])
进行寻址,程序运行正常,但当我在安装后编译程序(重新分发)时,当我在桌面上打开快捷方式时,会出现一条错误消息,标题是我的程序找不到
image.jpg
。当我检查搜索地址时,如下所示:

C:/User/Desktop/image.jpg
我读了这一页,但我不知道如何使用这个地址

除此之外,我不知道在MATLAB编译器选项中应该在哪里添加这些文件(图像和文本)。在应用程序运行所需的
文件中
或与应用程序一起安装的
文件中


谢谢。

这是因为您的图像不在当前路径(即本例中的桌面)中

如果要使用图像,应将图像包括在deploytool的“共享资源和帮助文件”中,并在脚本/函数中引用链接中指定的图像,使用:

if isdeployed
    imagepath = [ctfroot filesep 'image.jpg'];
else
    imagepath = [pwd filesep 'image.jpg'];
end
% Now use imagepath as if it was [pwd filesep 'image.jpg']
[A] = imread(imagepath);

另一个选项是将文件(image.jpg)包含在与最终可执行文件相同的路径中,因为您是从pwd调用该图像

谢谢你的回答。我用的是R2014a。可以添加以下选项:应用程序运行所需的文件或与应用程序一起安装的文件。新的搜索路径:
C:\Users\User\AppDAta\Local\Temp\User\mcrCache8.3\my\u Program\u name0\image.jpg
。错误:此文件不存在。当我将文件添加到应用程序运行所需的
文件时
现在文件位于
C:\Users\User\AppDAta\Local\Temp\User\mcrCache8.3\my_Program\u name0\my_Program\u name
中,但错误是指'C:\Users\User\AppDAta\Local\Temp\User\mcrCache8.3\my_Program\u name0`另一个问题@Dani。除了我的代码外,我的一些文件也在文件夹中。编译完程序后,我怎么能拥有相同的结构?你能做的,以及我实际做的,因为我认为更简单、更透明,是在应用程序的最终文件夹中重新创建你的目录和文件。您可以在ZIP、RAR、EXE安装程序中分发应用程序,这样最终用户将拥有Matlab EXE和其他文件,这些文件的“文件结构”与从Matlab运行时相同。必须使用相对路径或pwd。这将使您更容易理解应用程序失败的原因、所需的文件和文件夹,并简化编译过程,因为您不需要将文件添加到已部署的应用程序中。