1

设想:

  • 我正在编译一个使用大量外部文件\函数的项目。

  • 当我编译时,我使用一个函数,它将所有上述文件包含到带有“-a”参数的 mcc 命令中。

  • 编译后一切似乎都到位并且工作正常,除了一个文本文件 - 在这种情况下,Matlab 似乎包含项目早期迭代中的一个文本文件(同名)(我可以说,因为文本文件不同)。

更多细节:

  • 当我包含外部文件时,我通过添加驻留在项目目录中的所有子文件夹的路径来实现。

  • 编译完成后,所有上述路径都从 Matlab 的路径中删除。

  • 编译前后不添加Matlab默认路径以外的路径。

  • 当我从 .m 文件运行项目时,使用了正确的文本文件,但编译后使用了错误的文本文件。

关于为什么会发生这种情况的任何想法?

4

1 回答 1

0

是的 -a 包括目录中的所有内容,即使是那些不在 MATLAB 路径上的内容。我也遇到过同名文件的问题,可能只是编译程序的大小写不同。所以不要有两个文件,或者重命名其中一个。

如果我这样做,我更喜欢不使用 -a 标志。项目所需的一切都应该在一个目录中,因此编译时不会与其他目录中的其他文件混淆。

于 2019-08-30T19:02:52.937 回答