Windows7でz3ocamlバインディングが機能していません。これが私が従ったプロセスです。
- インストールされたObjectiveCamlバージョン3.11.0(Microsoftツールチェーン)
- インストールされたcamlidl-1.05(Microsoft Visual Studio 2008 + cygwinを使用して構築)
- インストールされたz3-3.0
- 「build.cmd」を実行してz3ocamlバインディングをビルドしました。ビルドは成功しました。
- 「build.cmd」によって生成されたファイルをz3/ocamlからObjectiveCaml/libにコピーしました
ocamlインタラクティブを起動し、「z3.cma」をロードしました
# #load "z3.cma";; Characters -1--1: #load "z3.cma";; Error: The external function `get_theory_callbacks' is not available # Z3.mk_context;; Characters -1--1: Z3.mk_context;; Error: The external function `camlidl_z3_Z3_mk_context' is not available
誰かが私にいくつかのヒントを教えてもらえますか?
編集1: 「Z3-3.0 \ examples\ocaml」で例を作成します。
build.cmdからの抜粋
set XCFLAGS=/nologo /MT /DWIN32
ocamlopt -ccopt "%XCFLAGS%" -o test_mlapi.exe -I ..\..\ocaml ole32.lib %OCAMLLIB%\libcamlidl.lib z3.cmxa test_mlapi.ml
VisualStudio2008コマンドプロンプトでbuild.cmdを実行すると次のエラーが発生しました
** Fatal error: Cannot find file "/nologo"
File "caml_startup", line 1, characters 0-1:
Error: Error during linking
を削除すると-ccopt "%XCFLAGS%"
、正常に動作します。生成されたexeも期待どおりに実行されます。(PATHにflexdllがあることに注意してください)。なぜこれが起こっているのか考えていますか?