3

Windows 7 で cygwin と g++ を使用してプロジェクトをコンパイルしています。Ubuntu でプロジェクトをコンパイルするためのメイクファイルを作成しました。これまでのところ、これはすべて機能しています。

関数は、いくつかのファイルを変換するために Libre Office を呼び出します。この目的のために、コマンド文字列を に渡しますsystem()

症状

cygwin で生成された実行可能ファイルを使用すると、エラーが発生します。

sh: C:\..\LibreOffice 3.6\program\soffice --headless --convert-to png:'draw_png_Export' add1.fodg : command not found

私を苛立たせているのは、コマンドが渡されたように見えるという事実ですshcmd

Windows の実行可能ビルドが no を使用していることを確認するにはどうすればよいshですか?

4

1 に答える 1

0

あなたには2つの選択肢があると思います。

まず、shused byに固執しsystem()、LibreOffice へのパスを POSIX 形式で使用します。

C:\..\LibreOffice 3.6\program\soffice

となります

/cygdrive/c/../LibreOffice 3.6/program/soffice

cygpathこれにもユーティリティを使用できます。

もう 1 つのオプションは、cmd 経由で LibreOffice を呼び出すことです。

cmd /c C:\..\LibreOffice 3.6\program\soffice args...
于 2014-02-26T12:43:08.770 に答える