Compiled matlab executables not working correctly with java archives

조회 수: 5 (최근 30일)
Sean
Sean 2012년 1월 30일
편집: ES 2013년 10월 7일
I have several programs that I wrote in matlab that use external custom java archives. The programs work fine on my computer (with the matlab license) (as .m files). They also work on the same computer as compiled executables with the main matlab install not running.
When I put them on another PC with the MCR installed (and the relevant libraries as checked/verified with non-matlab programs), the executables do not work. At best, they flash a quick empty figure window before terminating.
I have verified that the java archives appear to have the same paths on the new PC. I have also made a point of adding the directory containing the archives to the system OS path.
What could cause my compiled executables to fail to find and use my java archives? (Note: I have verified that executables not using the archives appear to work as expected, so the MCR is presumably installed correctly).
Thanks in advance, Sean

답변 (1개)

Kaustubha Govind
Kaustubha Govind 2012년 1월 31일
In general, you are discouraged from using functions like ADDPATH with absolute paths from deployed applications. See Path Management in Deployed Applications. I think the solution for your case might be to add the required JAR-files to the CTF archive (using the mcc -a option) and then add them relative to ctfroot.
  댓글 수: 7
Sean
Sean 2012년 2월 8일
Thanks for the clarification... Unfortunately, when I use the string "javaaddpath({[ctfroot 'DiagIF.jar'], [ctfroot 'AVIO.jar']});" at the beginning of the code and include the .jar files in the 'additional files' section, the results do not change.
Any further ideas?
Thanks in advance.
Kaustubha Govind
Kaustubha Govind 2012년 2월 9일
Oops, sorry, you need "javaaddpath({[ctfroot '/DiagIF.jar'], [ctfroot '/AVIO.jar']});". You need the "/" to separate the ctfroot path from your filename.

댓글을 달려면 로그인하십시오.

카테고리

Help CenterFile Exchange에서 Search Path에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by