2010-01-03 57 views
8

我想从Linux上的C程序(Matlab r2009a,Ubuntu 9.10)以编程方式调用Matlab引擎。从Linux中的C连接到Matlab引擎

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

但是,当程序运行时,我只是得到“无法启动MATLAB引擎”的错误消息,程序结束,没有迹象表明它失败的原因。

有没有人做这个工作?我忘了做什么?

p.s.我最初在超级用户中问过这个问题,因为我认为它与配置有关,但我看到其他与Matlab引擎有关的问题,所以我想我会放弃它。

回答

7

您应该在您的C程序上运行strace以查看出现问题的位置。通常情况下,我发现,大部分的时间可以归结为两种:

  • 由于没有csh安装
  • 具有环境设置错误,有时LS_COLORS螺丝钉的事情了csh
+0

尼斯电话 - 安装tcsh的伎俩。谢谢! – 2010-01-03 07:54:26

+0

顺便说一句,谢谢关于strace的提示 - 我甚至不知道存在! – 2010-01-03 07:55:22

0

MathWorks公司已记录这对their website,具体有以下说明:

注意:要在UNIX平台上运行MATLAB引擎,必须安装C shell csh,安装位置为/bin/csh

+0

页面不再存在。 – 2013-01-08 20:09:14

+0

@Padenton:修复它 – Amro 2014-07-30 19:47:27