1

OCaml のコマンドライン部分をラップするビジュアル スタジオ ソリューションを作成中です。標準の OCaml make ファイルには、次のターゲットがあります。

version.h : ../VERSION
echo "#define OCAML_VERSION \"`sed -e 1q ../VERSION`\"" > version.h

カスタムビルドイベントを介してシミュレートしたいと思っていました。次の行を含めるように vcproj ファイルを変更しました。

    <CustomBuildStep>
  <Command>C:\Windows\System32\sed.exe -e "1 s/^/#define OCAML_VERSION "  "$(SourceDir)VERSION"  &gt; "$(SourceDir)version.h"
  </Command>
  <Inputs>VERSION</Inputs>
  <Outputs>version.h;%(Outputs)</Outputs>
  <Message>Building version header file ....</Message>
</CustomBuildStep>

システムに(unxutilsから)sedをインストールしましたが、コマンドはコマンドターミナルから(自然にマクロ展開した後)正しく機能します。ただし、Visual Studio 内から実行すると、次のエラー メッセージが表示されます。

CustomBuildStep:
  Description: Building version header file ....
 'C:\Windows\System32\sed.exe' is not recognized as an internal or external command,
  operable program or batch file.

いくつかのフォーラムでこの問題を見てきましたが、提案された解決策は、絶対パスを含めるか (私が実行しました)、実行可能ファイルが存在する場所に作業ディレクトリを設定することです。これを機能させるためにできることはありますか?

4

0 に答える 0