我想在OCaml中测试Sqlite3绑定。
我已经用下载了合适的软件包
opam
,使用时效果良好
utop
。
我是这样测试的:
#use "topfind";;
#require "sqlite3";;
#show Sqlite3;;
open Sqlite3
let db = db_open "yolo";;
let _ = db_close db;;
问题是我不能在用dune编译的程序中使用相同的模块。以下是我试图编译的确切代码:
(内容
main.ml
文件)
let _ = Sqlite3.sqlite_version ();;
(内容
dune
文件)
(executable
(name main)
(libraries sqlite3)
)
当我尝试使用
dune build
我明白了
Unbound value Sqlite3.sqlite_version
。
其他程序包不会发生这种情况(已选中
yojson
并且它按预期工作)。
编辑:值得注意的是
Sqlite3
(即。
open Sqlie3
).ml文件中的模块可以工作。它只是使用里面的任何函数都会导致错误。