在 Linux 中从 C 连接到 Matlab 引擎

发布于 2024-08-16 10:24:28 字数 424 浏览 9 评论 0原文

我正在尝试从 Linux 上的 C 程序(Matlab r2009a、Ubuntu 9.10)以编程方式调用 Matlab 引擎。

我已经有了自己的代码(可以在 Windows 中运行),但现在我只是想让 Matlab“engdemo.c”程序在 Linux 上运行。我已经成功编译&链接它(在 gcc 命令行上包含大约 15 个 -l 开关之后),甚至通过一些 ldconfig 魔法解析了所有运行时动态链接。

但是,当程序运行时,我只是收到“无法启动 MATLAB 引擎”错误消息,并且程序结束,没有任何说明失败的原因。

有人做过这个工作吗?我忘记做什么了?

ps 我最初在 SuperUser 上问这个问题,因为我认为它与配置相关,但我看到其他与 Matlab 引擎相关的?在这里,所以我想我应该尝试一下。

I'm trying to call the Matlab engine programatically from a C program on Linux (Matlab r2009a, Ubuntu 9.10).

I've got my own code (which works in Windows), but for now I'm just trying to get the Matlab "engdemo.c" program to work on Linux. I have managed to compile & link it (after including about 15 -l<lib> switches on the gcc command line), and even resolved all the runtime dynamic links via some ldconfig magic.

But, when the program runs, I just get the "Can't start MATLAB engine" error message and the program ends, with no indication of why it failed.

Has anybody made this work? What have I forgotten to do?

p.s. I originally asked this on SuperUser because I think it's configuration related, but I see other Matlab engine-related ?'s here so I thought I'd give it a go.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

哆兒滾 2024-08-23 10:24:28

您应该在 C 程序上运行 strace 来查看哪里出了问题。通常,我发现大多数情况下都会归结为:

  • 未安装 csh
  • 环境设置错误,有时 LS_COLORS 会用 csh< 搞砸事情/代码>

You should run strace on your C program to see where things go wrong. Typically, I found that most of the time it comes down to either:

  • Not having csh installed
  • Having the environment set wrong, sometimes LS_COLORS screws things up with csh
演多会厌 2024-08-23 10:24:28

MathWorks 已在其网站上记录了这一点,具体如下笔记:

注意:要在 UNIX 平台上运行 MATLAB 引擎,您必须在 /bin/csh 安装 C shell csh。< /p>

MathWorks has documented this on their website, specifically the following note:

Note: To run MATLAB engine on the UNIX platform, you must have the C shell csh installed at /bin/csh.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文