【问题标题】:Including multiple folders (with images, scripts, etc) within a Matlab standalone GUI.exe在 Matlab 独立 GUI.exe 中包含多个文件夹(包含图像、脚本等)
【发布时间】:2018-01-08 17:48:33
【问题描述】:

我有一个具有多个 GUI 的软件。为了更好地组织事情(或者至少这是我的想法),我在根目录中创建了几个文件夹,如图所示。

在文件夹中,我有不同格式的文件和一些 Matlab 脚本。

使用应用程序编译器创建 Matlab 可执行文件时,在选择主文件后,Matlab 没有直接检测到这些相同的文件夹对于代码运行很重要。因此我决定手动添加文件夹。

创建并安装设置后,通过在 Matlab 环境中运行应用程序,我能够调试软件未运行的一个可能问题。

正如您在第一张图片中看到的,“play.png”位于 Images 文件夹中。

我的问题非常直接:如何强制 Matlab 编译器了解所有这些文件夹都将包含在设置中?不仅要包括在内,还要包括他们的路径'

【问题讨论】:

    标签: matlab matlab-guide matlab-deployment matlab-compiler


    【解决方案1】:

    可能会发生两件事:

    1. 您没有将文件包含在包中。 确保使用mcc-a 选项包含它们:

      mcc -m hello.m -a ./testdir/*
      

      你也可以使用GUI,当然see here

    2. 您在错误的位置查找包含的文件。使用ctfroot 作为代码中所有路径的根:

      img_file_name = fullfile(ctfroot,'Images','brain.jpg'));
      

      查看解压后的CTF文件(执行时会自动解压)查看里面的目录结构。 ctfroot 指向解压后的 CTF 文件的根目录。

    PS:This blog post 可能会给你更多指点。

    【讨论】:

    • Cris "-a" 选项,我该如何使用它?我应该继续使用应用程序编译器还是应该使用命令行?
    • 已经尝试了所有选项,包括删除之后弹出的“ADDPATH”问题。软件仍然没有完全运行。现在正在识别图像,但某些文件夹中包含的重要包仍未正确创建。
    • @16per9,“重要的包没有被创建”是什么意思?不是向 CTF 添加文件吗?是添加它们但您的代码找不到它们吗?源代码文件是否丢失?
    • 文件夹LDOF_src里面有多个mex文件,c++还有matlab脚本。编译后,当检查 AppData 中的临时文件夹时,LDOF_src 文件夹在那里,但他应该有 50% 的脚本。很奇怪……
    • 我做到了@Cris! :D 主要问题是 C++ 文件。其中一个 C++ 文件存在目录问题,因此……是的,一个简单的目录破坏了所有编译器!老兄感谢您的支持:=
    猜你喜欢
    • 2016-12-17
    • 1970-01-01
    • 2018-06-20
    • 2011-06-30
    • 1970-01-01
    • 1970-01-01
    • 2018-08-07
    • 2014-08-24
    • 1970-01-01
    相关资源
    最近更新 更多