Matlab 使用 .p 文件进行编译?
Posted
技术标签:
【中文标题】Matlab 使用 .p 文件进行编译?【英文标题】:Matlab Using .p file for compiling? 【发布时间】:2015-04-21 19:34:19 【问题描述】:我正在做一个 Matlab 项目,我需要 UsbWebcams 包来从网络摄像头捕获图像。我可以在 matlab 中运行 .m 文件,但是当我编译项目以创建 exe 文件时,我的 exe 文件返回错误,因为 usbWebcams 包有一些特殊的 .p 文件(Utility.p,webcamchannel.p 等),我不能使用这些用于编译的文件。我在 Internet 上搜索,但没有找到任何答案。如何在我的项目中使用 .p 文件。我认为应该有一个解决方案,我应该找到它。感谢大家的帮助。
【问题讨论】:
你确定吗?从 R2009a 开始,将 P-Code 合并到 MATLAB 编译器中就可以使用:mathworks.com/matlabcentral/answers/… - 如果不能,那意味着您使用的是非常旧的 MATLAB 版本,但我提供的链接有一个合适的解决方法。 感谢您的回答。我知道这个答案,我的问题与此链接中的最后一个答案相同。我认为编译器无法编译 Usbwebcams 的 .p 文件,因此我的 exe 无法正常工作。如果它可以编译,我的 exe 应该可以正常工作,因为它可以在 matlab 上使用运行命令。也许,它可能是 Usbwebcams 包的特殊情况。顺便说一句,我正在使用 R2015a。 【参考方案1】:虽然 MATLAB Compiler 应该能够编译 .p
文件,但您尝试编译的 .p
文件可能具有您看不到的依赖项,因为它们是 p 编码的。例如,它们可能调用外部库(如果它们用于连接网络摄像头,这很有可能),或者它们可能使用 eval
调用另一个函数。
无论它们是.m
文件还是.p
文件,如果您尝试编译的文件具有此类依赖项,则需要为编译器显式包含它,否则它将不知道在哪里找到它。但是,如果文件是 p 编码的,则很难找出依赖关系可能是什么。您可能需要直接向 MathWorks 寻求有关编译此功能的支持。
【讨论】:
以上是关于Matlab 使用 .p 文件进行编译?的主要内容,如果未能解决你的问题,请参考以下文章
我可以在 Windows 上使用 MATLAB 将一些 .m 编译成可以在 Linux 上运行的二进制文件吗?