execution of external program fails

3 views (last 30 days)
Matthias Pospiech
Matthias Pospiech on 4 Mar 2012
I call ghostscript with
cmd = [gs ' -sOutputFile="' outputFile '" -f "' inputFile '"'];
status = system(cmd); % Run Ghostscript.
which results in commands like this one:
gswin32c.exe -q -dSAFER -dNOPAUSE -dBATCH -dEPSCrop -dUseFlateCompression=true -dAutoRotatePages=/None -dHaveTrueTypes -r600 -dGraphicsAlphaBits#4 -dTextAlphaBits#4 -sDEVICE=png16m -sOutputFile="C:\SVN\google code\latexfigure\trunk\example\TEMP9058.png" -f "C:\SVN\google code\latexfigure\trunk\example\TEMP9058.pdf"
This is valid code an works in the command windows of windows. But matlab comlains:
Der Befehl "gswin32c.exe" ist entweder falsch geschrieben oder
konnte nicht gefunden werden.
The 'gswin32c' is in the path of windows and I restarted matlab already. What could go wrong?

Answers (2)

Daniel Shub
Daniel Shub on 4 Mar 2012
There is something wrong with the path when you run system. MATLAB doesn't use the same path as the Windows command window. You need to add the full path to gswin32c.exe.
  2 Comments
Matthias Pospiech
Matthias Pospiech on 4 Mar 2012
The full path is the most unwanted solution, although obvious.
The whole code worked on other computers, so I need to know what to fix.
And if matlab handles the path different than windows I need to know how.
Daniel Shub
Daniel Shub on 5 Mar 2012
If you look at export_fig Oliver hard coded the paths. It might be unwanted, but it is probably the best you can do.

Sign in to comment.


Oliver Woodford
Oliver Woodford on 8 Mar 2012
I suggest you use the ghostcript function that comes with export_fig. It uses a full path if it needs to, but sets it automatically on each pc. You will also need to include the user_string function too.

Categories

Find more on Loops and Conditional Statements in Help Center and File Exchange

Tags

Products

Community Treasure Hunt

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

Start Hunting!