无法使用带有 jbuilder 的 lablgtk2 构建程序
Unable to build a program using lablgtk2 with jbuilder
我想在使用 lablgtk2
编译时使用 jbuilder
,但我在获取这些错误消息时遇到了问题:
File "_none_", line 1:
Error: No implementations provided for the following modules:
Thread referenced from /Users/hadilsabbagh/.opam/4.05.0/lib/lablgtk2/gtkThread.cmx
Mutex referenced from /Users/hadilsabbagh/.opam/4.05.0/lib/lablgtk2/gtkThread.cmx
Condition referenced from /Users/hadilsabbagh/.opam/4.05.0/lib/lablgtk2/gtkThread.cmx
这是我的jbuild
:
(jbuild_version 1)
(executable
((name simple)
(libraries (lablgtk2))
))
很可能,您的 jbuild
缺少对 core
的依赖(由于 gtkThread.cmx
),它应该与以下 jbuild 文件一起使用:
(jbuild_version 1)
(executable
((name simple)
(libraries (core lablgtk2))
))
这是由于 this issue。 jbuilder/dune 自动添加 mt
谓词,这意味着如果您的库提供线程选项,它将被使用,并且您需要添加 threads
作为依赖项:
(jbuild_version 1)
(executable
((name simple)
(libraries (threads lablgtk2))
))
注意 ocaml 中库的顺序很重要,threads
需要在 lablgtk2
之前。
我想在使用 lablgtk2
编译时使用 jbuilder
,但我在获取这些错误消息时遇到了问题:
File "_none_", line 1:
Error: No implementations provided for the following modules:
Thread referenced from /Users/hadilsabbagh/.opam/4.05.0/lib/lablgtk2/gtkThread.cmx
Mutex referenced from /Users/hadilsabbagh/.opam/4.05.0/lib/lablgtk2/gtkThread.cmx
Condition referenced from /Users/hadilsabbagh/.opam/4.05.0/lib/lablgtk2/gtkThread.cmx
这是我的jbuild
:
(jbuild_version 1)
(executable
((name simple)
(libraries (lablgtk2))
))
很可能,您的 jbuild
缺少对 core
的依赖(由于 gtkThread.cmx
),它应该与以下 jbuild 文件一起使用:
(jbuild_version 1)
(executable
((name simple)
(libraries (core lablgtk2))
))
这是由于 this issue。 jbuilder/dune 自动添加 mt
谓词,这意味着如果您的库提供线程选项,它将被使用,并且您需要添加 threads
作为依赖项:
(jbuild_version 1)
(executable
((name simple)
(libraries (threads lablgtk2))
))
注意 ocaml 中库的顺序很重要,threads
需要在 lablgtk2
之前。