【问题标题】:macos - how to tell cabal/ghc to look in /opt for libraries/include files?macos - 如何告诉 cabal/ghc 在 /opt 中查找库/包含文件?
【发布时间】:2012-02-25 15:48:39
【问题描述】:

我已经通过 /opt 中的端口安装了 pcre 库。

我正在尝试安装 pcre-light,但 cabal install pcre-light 报告:

Resolving dependencies...
Configuring pcre-light-0.4...
Preprocessing library pcre-light-0.4...
Base.hsc:103:18: error: pcre.h: No such file or directory
...

pcre.h 位于 /opt/local/include

更新:我在连接 macports 提供的 pcre 库时遇到问题,所以我改用 home brew。

【问题讨论】:

    标签: macos haskell ghc cabal


    【解决方案1】:

    http://www.haskell.org/ghc/docs/7.0.2/html/Cabal/builders.html

    --extra-include-dirs[=dir] 用于搜索 C 头文件的额外目录。您可以多次使用此标志来获取目录列表。

    如果您在包的 .cabal 文件中未提及的非标准位置有标准系统头文件,则可能需要使用此标志。使用此选项与将目录 dir 附加到每个库中的 include-dirs 字段和包的 .cabal 文件中的可执行文件具有相同的效果。当然,优点是您根本不必修改包。这些额外的目录将在构建包时使用,对于库,它也保存在包注册信息中,并在编译使用该库的模块时使用。

    【讨论】:

    • 谢谢 - 我还修改了我的 ~/.cabal/config 文件以包含这些设置。
    • 也为我工作!我通过 Homebrew 安装了 OS X 10.10 和 PCRE。但是,修改~/.cabal/config 对沙箱没有帮助,我必须将此选项显式添加到命令行。
    猜你喜欢
    • 2016-11-15
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 2010-12-13
    • 1970-01-01
    • 2016-03-11
    • 1970-01-01
    • 2018-07-28
    相关资源
    最近更新 更多