2014-05-19 94 views
3

我正在開發Frama-C中的一個插件。我想解析一個xml文件。 我安裝了包libxml-light-ocaml-dev,但在編譯時出現「Unbound module Xml」錯誤。 我不知道如何着手使包裝對Frama-C可見。或者我應該使用另一個包?Frama-C和XML解析器

+0

OCaml的編譯器選項'-I'用於使含有可見OCaml的編譯器庫編譯使用這些庫模塊時目錄。 –

+0

我不直接用ocamlc編譯,但是我使用了frama-c makefile。所以我用make編譯。而我的Makefile中包含此: FRAMAC_SHARE:= $(殼郵資-C -print路徑) FRAMAC_LIBDIR:= $(殼郵資-C -print-LIBPATH) PLUGIN_NAME = CTT PLUGIN_CMO = ctt_utils ctt_core ctt_trace CTT 包括$(FRAMAC_SHARE)/Makefile.dynamic – Amiramet

回答

4

假設你正在使用Makefile.dynamic作爲郵資-C的開發手冊中的指示,還有,你必須爲了調整幾個變量來編譯和鏈接對外部庫您的插件:

  • PLUGIN_BFLAGS允許將附加選項傳遞給OCaml的字節碼編譯器,如-I /my/path/to/xml/library,-I `ocamlfind xml-light`-I $(XMLLIGHTPATH),其中XMLLIGHTPATH由配置腳本設置(另請參閱開發人員手冊)。
  • PLUGIN_OFLAGS是本地編譯
  • PLUGIN_EXTRA_BYTE相當於給文件的列表,你的插件有當字節碼編譯對被鏈接,如xmllight.cma
  • PLUGIN_EXTRA_OPT是本機代碼等同,如xmllight.cmxa
+0

它的作品謝謝你! – Amiramet