小编Smo*_*key的帖子

如何将 Haskell 库与 Rust 项目静态链接?

到目前为止,我\xe2\x80\x99ve 还没有将 Haskell 库链接到 Rust 项目。我\xe2\x80\x99ve 有很多错误,最新的是recompile with -fPICfor ghc.

\n

我\xe2\x80\x99已经设法获得动态链接\xe2\x80\x94的功能示例,但无法静态链接它。

\n

现在附上我当前的设置:

\n
    \n
  1. 构建.rs

    \n
    fn main() {\n    println!("cargo:rustc-link-search=native=deps");\n    println!("cargo:rustc-link-lib=static=tesths");\n}\n
    Run Code Online (Sandbox Code Playgroud)\n
  2. \n
  3. src/main.rs

    \n
    extern "C" {\n    pub fn addTwo(x: i32) -> i32;\n    pub fn init();\n    pub fn fin();\n}\n\nfn main() {\n    println!("Hello, world!");\n}\n
    Run Code Online (Sandbox Code Playgroud)\n
  4. \n
  5. src/haskell/Lib.hs

    \n
    module Lib where\n\nimport Foreign.C.Types\n\naddTwo :: CInt -> CInt\naddTwo = (2 + )\n\nforeign export ccall addTwo :: CInt -> CInt\n
    Run Code Online (Sandbox Code Playgroud)\n
  6. \n
  7. cwrapper.c

    \n
    #include <HsFFI.h>\n#ifdef __GLASGOW_HASKELL__\n#include "Lib_stub.h"\n#endif\n#include …
    Run Code Online (Sandbox Code Playgroud)

haskell ffi rust

7
推荐指数
1
解决办法
699
查看次数

标签 统计

ffi ×1

haskell ×1

rust ×1