我正在尝试构建包含导出ffi代码的共享库到共享库中。我想知道是否可以使用常见的工具(如stack或nix,基本上是通过cabal)来完成这个任务?可以吗?如果可以,怎么做?
https://github.com/bennoleslie/haskell-shared-example 包含这种代码的很好的示例,但需要手动构建。
我正在尝试构建包含导出ffi代码的共享库到共享库中。我想知道是否可以使用常见的工具(如stack或nix,基本上是通过cabal)来完成这个任务?可以吗?如果可以,怎么做?
https://github.com/bennoleslie/haskell-shared-example 包含这种代码的很好的示例,但需要手动构建。
foreign-library
。相关文档解释得非常清楚。haskell.nix
,则外部库的派生物会在<binding>.components.foreignlibs.<libname>
下暴露。cabal2nix
进行构建,请运行:cabal2nix . > default.nix
nix-build -E '(import <nixpkgs> {}).haskellPackages.callPackage ./default.nix {}'
result/lib/ghc-<version>/<your-lib>.(so|dll|dylib)
。