execution of external program fails

3 ビュー (過去 30 日間)
Matthias Pospiech
Matthias Pospiech 2012 年 3 月 4 日
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?

回答 (2 件)

Daniel Shub
Daniel Shub 2012 年 3 月 4 日
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 件のコメント
Matthias Pospiech
Matthias Pospiech 2012 年 3 月 4 日
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 2012 年 3 月 5 日
If you look at export_fig Oliver hard coded the paths. It might be unwanted, but it is probably the best you can do.

サインインしてコメントする。


Oliver Woodford
Oliver Woodford 2012 年 3 月 8 日
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.

カテゴリ

Help Center および File ExchangeLoops and Conditional Statements についてさらに検索

タグ

製品

Community Treasure Hunt

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

Start Hunting!

Translated by