MCR invocation
조회 수: 1 (최근 30일)
이전 댓글 표시
I understand that MCR is invoked by Java if I call my compiled code via .NET and Java. If I call compiled code through c/c++ shared libraries, or COM libraries, or standalone applications, would MCR still be invoked by Java?
I'm getting the error 'Unable to start the JVM' when calling my compiled Matlab code from .NET. And I'm thinking to switch to other interfaces to avoid the error. Would it be possible?
Can anyone else who encountered the JVM error suggest a solution?
Thanks,
댓글 수: 0
답변 (1개)
Kaustubha Govind
2011년 5월 9일
MATLAB and the MCR use JVM for some functionality. If the code that you'd like to compile does not use JVM functionality (you can verify this by starting MATLAB using "matlab -nojvm" from the system prompt and then running your code), you can compile your code using the mcc "-R -nojvm" option when compiling shared libraries or standalone applications.
With regards to why you see the "Unable to start the JVM" - I would recommend contacting MathWorks Tech Support so they can debug and diagnose the issue.
댓글 수: 7
Kaustubha Govind
2011년 5월 9일
I'm sorry - I have little to no experience with Builder NE - have you tried contacting Tech Support about why using the NOJVM attribute doesn't work?
To increase Java heap space for the MCR, I believe you need to create a java.opts file just like for MATLAB (http://www.mathworks.com/support/solutions/en/data/1-18I2C/index.html) and place it in the $MCRROOT/bin/$ARCH directory. $MCRROOT is the MCR root directory (eg. C:\Program Files\MATLAB\MATLAB Compiler Runtime\) and $ARCH is your system
architecture, which you find by typing at the MATLAB Command Prompt: computer('arch')
참고 항목
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!