Why can the Open function not be used in compiled applications?

5 views (last 30 days)
Hi, I am building a standalone application that should be compiled for PC, MAC and Linux. As I have a pdf with instructions and release notes, I planned to use open('ReleaseNotes.pdf'). However, after successfully compiling , I get the following warning in the command shell (running in Windows, I haven't tested the other two yet):
Warning: The Open function cannot be used in compiled applications.
1. Does somebody knows why this is happening? The funtcion open is not on the list of excluded functions ( https://de.mathworks.com/help/compiler/unsupported-functions.html ) and also not in mccExcludedFiles.log.
2. If there is no single function I can use for all three environments, is there something similar to winopen, which works in Windows, for Mac and Linux?
Thanks, Anna

Answers (1)

Jan
Jan on 4 Jul 2018
Edited: Jan on 4 Jul 2018
Look at the file:
edit(fullfile(matlabroot, 'toolbox\matlab\general\private\openpdf.m'))
This is the method to open PDFs under Windows, Linux and MacOS. I'm not sure why open does not work in a compiled application. But you can try to create a clone of this method and adjust it to your needs.
  1 Comment
M. A. Hopcroft
M. A. Hopcroft on 29 Apr 2019
This answer helped me, thanks. I note that the inability to use "open" in compiled applications is a change from previous versions. It worked in R2015b, but fails in R2018b.

Sign in to comment.

Categories

Find more on MATLAB Compiler in Help Center and File Exchange

Products

Community Treasure Hunt

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

Start Hunting!