我有一个令人尴尬的简单问题。
我正在尝试使用一个存档库(称之为mylib.a
)和一个大型的C#项目(使用GHC< MinGW的副本编译)。
从顶级我有:
./project.cabal
./src/...haskell..code...
./cbits/interface.c (simplifies access to `lib.a`)
./include/mylib.h
./lib/mylib.a <<<<<<<<<<<<<<< not sure where to put this or how to reference it
project.cabal
同时具有
c-sources: cbits/interface.c
include-dirs: include
extra-lib-dirs
似乎想要一个绝对路径(目录)。
如何解决这个问题?
答案 0 :(得分:2)
答案来自https://github.com/haskell/cabal/issues/4677
我认为您的存档名称为libmylib.a
,然后将其添加到您的cabal文件中
ghc-Options: -pgml gcc "-optl-Wl,--allow-multiple-definition" "-optl-Wl,--whole-archive" "-optl-Wl,-Bstatic" "-optl-Wl,-lmylib" "-optl-Wl,-Bdynamic" "-optl-Wl,--no-whole-archive"
您可能还需要指定gcc选项-L
来指定存档路径