Windows – 如何指定对.cabal中外部C库的依赖?
发布时间:2020-12-13 19:53:19 所属栏目:Windows 来源:网络整理
导读:我在Hackage上维护一个带有FFI绑定的库.所以我的 Haskell库依赖于相应的C库及其头文件.现在我在.cabal文件中指定外部依赖关系,如下所示: PkgConfig-Depends: libfoo = 1.2 它在Linux中对我来说很好.但是,我有一个库的用户报告,在Windows上安装pkg-config是
我在Hackage上维护一个带有FFI绑定的库.所以我的
Haskell库依赖于相应的C库及其头文件.现在我在.cabal文件中指定外部依赖关系,如下所示:
PkgConfig-Depends: libfoo >= 1.2 它在Linux中对我来说很好.但是,我有一个库的用户报告,在Windows上安装pkg-config是相当麻烦,而他喜欢 Includes: foo.h Extra-libraries: foo 我希望我的库尽可能容易地构建,并且不希望强制不是严格要求的构建依赖关系.但是,我看到Cabal manual建议使用PkgConfig-Depends. 我的问题: >我应该选择哪种方式进行跨平台包?
pkg-config方法是最好的,因为pkg-config知道在哪里可以找到include和library文件,这些文件可能在某些系统上的非标准位置.
您可以编写.cabal文件以使用这两种方法.如图所示,使用一个标志的优点是,如果默认值失败,Cabal会自动尝试其他标志值. (以下示例未测试) Flag UsePkgConfig Description: Use pkg-config to check for library dependences Default: True Executable hax if flag(UsePkgConfig) PkgConfig-Depends: libfoo >= 1.2 else Includes: foo.h Extra-libraries: foo (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- 2019年2月最新win10专业版激活密钥及其永久激活方法
- DOS:排除文件类型的目录列表?
- windows-server-2008 – 为RDP访问创建白名单
- windows-7 – 什么样的基于Windows的“进程记帐”软件可用?
- 3dmax2013卸载/安装失败/如何彻底卸载清除干净3dmax2013注册
- 从Windows批处理变量中获取子字符串
- Windows 10 + kali Linux 双系统安装教程(详细版)
- windows – 如何为Java SWT应用程序实现类似Google-chrome的
- 什么被认为是Windows服务器的“SSH”?
- 防止Windows客户端使用Thumbs.db污染网络共享