3

私のインストールした OCaml は #! を認識しないため、camlp4o をスタンドアロンで実行することはできません。「ocamlrun camlp4o」として起動する必要があります。

プラグインにフラグを追加しようとしています。ただし、新しいフラグは既存のフラグに追加されるだけです。

その結果、ocamlbuild は次のようにコンパイラを呼び出します。

「-pp camlp4o ocamlrun camlp4o」。

有効な回避策は、新しいタグ「my_camlp4o」を導入することです。ただし、ocamlbuild のドキュメントでは、デフォルトを「オーバーライド」する機能について言及されていました。ocamlc、ocamlopt はオーバーライドできるようです。しかし、camlp4o をオーバーライドできますか? プラグインでできますか?

4

1 に答える 1

2

-ocamlc <command>-ocamldep <command>などのコマンドラインオプションを使用して、Ocamlbuildのデフォルトを変更するためのサポートがあります。残念ながら、camlp4は現在、カスタマイズ可能なコマンドのセットの一部ではありません。この機能をリクエストするには、課題追跡システムを使用してください。

(それまでの間、回避策をお勧めします。たとえばocamlrun、PATH内の実行可能ファイルを、正しいことを行う実行可能スクリプトに置き換えます。)

編集

もう1つの回避策はocamlfind、を介してすべてのコンパイルを実行することです。これは、camlp4コマンドのオーバーライドをサポートしており(ドキュメントを参照)、オプションを使用してすべてのocamlbuildコマンドの基礎として使用でき-use-ocamlfindます。残念ながら、ocamlfind自体は、コンパイル時(実際のコンパイラを呼び出す場合)の前処理のみをサポートし、スタンドアロンのソース間処理はサポートしないため、独自のユースケースをカバーできない場合があります。

于 2013-03-01T09:49:37.597 に答える