convert MATLAB to C using emlc function
显示 更早的评论
My final year project involves converting matlab .m file into C. Upon using the emlc function as many suggested, this error popped out:
??? This text contains non-empty top-level expressions. It appears to be a script.
from this command line: emlc -c lnorm
I tried to read through the online help but I can't seem to understand. Are there any steps that I've missed out?
Please help. Many thanks.
回答(1 个)
Walter Roberson
2011-3-10
0 个投票
The file you converted: does the first non-empty non-comment line of it start with the word 'function' ? If not then Matlab considers it a "script". elmc is not able to handle scripts (though 2010b might have added that facility, perhaps, in parallel with the Matlab Compiler having had that ability added.)
6 个评论
highstreets
2011-3-10
Ben Tordoff
2011-3-10
"Converting" the whole script probably involves putting the line
function myFunction()
at the top. It's got to be worth a try ;-)
Walter Roberson
2011-3-10
In this case,
function lnorm
should do.
highstreets
2011-3-10
Walter Roberson
2011-3-10
Hmmm.... I wonder if it needs cmd.exe ?? 'cmd' should be the normal command shell, I would think.
I don't have a Windows machine available to test this out on.
Kaustubha Govind
2011-3-11
It looks like the C code is being generated, but it failing to compile the code because it chokes on a call to gmake. MATLAB executes gmake by calling into the system shell - in this case, cmd.exe. It finds cmd.exe by looking on the system path. Either your Path or SystemRoot environment variables are corrupted. Try this from MATLAB command prompt:
>> !echo %SystemRoot%
>> !echo %Path%
Now, look for cmd.exe on your system and verify that the parent directory is present on the system Path.
类别
在 帮助中心 和 File Exchange 中查找有关 Introduction to Installation and Licensing 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!