在我的代码中,有一些函数如imshow
或fopen
文件需要寻址。当我在MATLAB中使用我的程序时,我使用pwd
(如imshow([pwd '/image.jpg'])
)进行寻址,程序运行并正常工作,但是当我在桌面上打开快捷方式时,当我在安装(重新分发)后编译我的程序时,出现一个错误消息,标题是我的程序找不到image.jpg
。当我检查搜索地址时,它就像:
C:/User/Desktop/image.jpg
我读了这一页,但我不知道如何使用这个地址。
http://www.mathworks.com/matlabcentral/answers/59148-for-stand-alone-exe-how-do-i-include-a-folder-of-files-and-know-how-to-access-them旁边我不知道我应该在MATLAB编译器选项中添加这些文件(图像和文本)。在file required for your application to run
或file installed with your application
.
谢谢。
这是因为您的图像不在当前路径中(即本例中的桌面)。
如果您想使用映像,您应该将映像包含在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调用图像。