Connect to Matlab engine from C in Linux

烈酒焚心 提交于 2019-11-29 19:41:20

问题


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.


回答1:


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



回答2:


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.



来源:https://stackoverflow.com/questions/1993865/connect-to-matlab-engine-from-c-in-linux

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!