要求堆栈将额外的命令行参数传递给 c2hs
Asking stack to pass extra command-line arguments to c2hs
我使用 c2hs 来简化将 Haskell 绑定写入 C/C++ 库的过程。我最近也开始使用堆栈来管理我的 Haskell 项目。
要使用 c2hs,我的 Haskell 源代码中需要有一行说 #include "myheader.h"
;这里 myheader.h
是我的 C/C++ 库的接口文件。
我今天发现,除了将#include
行嵌入到.chs
源文件中,还可以在调用c2hs时传递头文件的位置,如下所示
c2hs /<path-to-my-header>/myheader.h Foo.chs
谢天谢地,stack 会自动检测文件何时具有 .chs 扩展名,然后对其调用 c2hs。我的问题是,如何告诉堆栈在调用 c2hs 时传递这个额外的命令行参数(即头文件的位置)?
我需要对我的 .cabal 或 stack.yaml 文件进行哪些更改?
在 cabal 文件的库或可执行部分(取决于您的项目)下的 include-dirs
字段中添加您的位置应该可以正常工作。
我使用 c2hs 来简化将 Haskell 绑定写入 C/C++ 库的过程。我最近也开始使用堆栈来管理我的 Haskell 项目。
要使用 c2hs,我的 Haskell 源代码中需要有一行说 #include "myheader.h"
;这里 myheader.h
是我的 C/C++ 库的接口文件。
我今天发现,除了将#include
行嵌入到.chs
源文件中,还可以在调用c2hs时传递头文件的位置,如下所示
c2hs /<path-to-my-header>/myheader.h Foo.chs
谢天谢地,stack 会自动检测文件何时具有 .chs 扩展名,然后对其调用 c2hs。我的问题是,如何告诉堆栈在调用 c2hs 时传递这个额外的命令行参数(即头文件的位置)? 我需要对我的 .cabal 或 stack.yaml 文件进行哪些更改?
在 cabal 文件的库或可执行部分(取决于您的项目)下的 include-dirs
字段中添加您的位置应该可以正常工作。