在 Linux 中从 C 连接到 Matlab 引擎

标签 c linux matlab matlab-engine engopen

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

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

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

有人做过吗?我忘了做什么?

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

最佳答案

您应该在您的 C 程序上运行 strace 以查看哪里出了问题。通常,我发现大部分时间都归结为:

  • 没有安装csh
  • 如果环境设置错误,有时 LS_COLORS 会用 csh 搞砸

关于在 Linux 中从 C 连接到 Matlab 引擎,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1993865/

相关文章:

c - libgit2:创建存储库时无法解析路径

c - 原始堆字符串

java - 以另一个用户身份加载进程?

matlab - 生成颜色三角形

c - 使用 atoi 函数从命令行输入

java - Android Studio 中的最大堆大小无效错误

linux - 连接 Windows 至 NAS - Samba 服务器

matlab - 简单的对数曲线拟合

Matlab 如何向量化 double for 循环?嵌套结构数组的设置值非常慢

C - 我的内存释放功能有什么问题?