Ocaml 如何让dune作为库的依赖项执行shell命令

Ocaml 如何让dune作为库的依赖项执行shell命令,ocaml,ocaml-dune,Ocaml,Ocaml Dune,我有一个库,它有一些C存根,这些存根需要与我需要直接用gcc编译的其他C代码相链接 我试图这样做,但调用gcc的规则似乎没有执行: (rule (targets libart.o) (deps (:c art.c) (:h art.h)) (action (run gcc -c -std=c99 -D_GNU_SOURCE -Wall -Werror -O3 -g %{c} -o %{targets}))) (library (name art

我有一个库,它有一些C存根,这些存根需要与我需要直接用gcc编译的其他C代码相链接

我试图这样做,但调用gcc的规则似乎没有执行:

(rule
    (targets libart.o)
    (deps (:c art.c) (:h art.h))
    (action 
        (run gcc -c -std=c99 -D_GNU_SOURCE -Wall -Werror -O3 -g %{c} -o %{targets})))

(library
    (name art)
    (preprocessor_deps libart.o)
    (c_flags -I lib/)
    (c_library_flags ./lib/libart.o)
    (c_names art_stubs))

我不太了解dune,但如果没有内置的编译C扩展的方法,我会感到惊讶。如果您的问题仍然相关,并且您仍然需要答案,我建议您转到,您可能会在那里找到答案。:)我不太了解dune,但如果没有内置的编译C扩展的方法,我会感到惊讶。如果您的问题仍然相关,并且您仍然需要答案,我建议您转到,您可能会在那里找到答案。:)