我的OCaml安装不能识别#!,因此camlp4o不能独立运行。它必须作为"ocamlrun camlp4o“调用。
我尝试在插件中添加一个标志。但是新的标志只是简单地添加到现有的标志。
结果是ocamlbuild将使用
"-pp camlp4o ocamlrun camlp4o“。
一种解决方法是引入一个新标记'my_camlp4o‘。然而,ocamlbuild的文档确实提到了“覆盖”默认值的能力。似乎ocamlc,ocamlopt可以被覆盖。但是我们能覆盖camlp4o吗?它可以在插件中完成吗?
发布于 2013-03-01 17:49:38
支持通过-ocamlc <command>、-ocamldep <command>等命令行选项更改Ocamlbuild中的默认值。不幸的是,camlp4目前不是可定制命令集的一部分。您可以使用issue tracker来请求此功能吗?
(在此期间,我推荐一种解决方法,例如:将路径中的ocamlrun可执行文件替换为执行正确操作的可执行脚本。)
编辑
另一种解决方法是通过ocamlfind进行所有编译,它支持覆盖camlp4命令(请参见the documentation),并且可以用作所有带有-use-ocamlfind选项的ocamlbuild命令的基础。不幸的是,ocamlfind本身只支持编译时的预处理(当调用实际的编译器时),而不支持独立的源到源处理,因此这可能不包括您自己的用例。
https://stackoverflow.com/questions/15146286
复制相似问题