我已经创建了一个Haskell包,它使FFI调用CUDA代码中定义的函数.我想在包构建期间将.cu文件编译为对象(.o)文件,并强制链接器将其链接到.
到目前为止,我试图用一种技术发现这个问题.我已经定制buildHook到:
- 运行nvcc
- 运行默认的buildHook
- 使用nvcc编译代码创建ar库文件.
Setup.hs可在此处获得.
该解决方案在将该包限制为静态链接方面具有主要缺点.尽管cabal生成了一个共享库,但它无法工作,因为它无法解析位于目标文件中的符号.
在构建期间是否有更简单的方法来链接自定义代码?