Haskell 项目可以使用 cmake 吗?

2024-05-22

我正在计划一个用 Haskell 编写的项目,也许也有一些部分是用 C 编写的。对于构建系统,我决定不选择 Haskell 程序 cabal 的常见选择,主要是因为我想了解其他语言的构建程序是如何工作的。

我听说过 CMake,我认为这是一个非常酷的产品。虽然我不知道如何使用它,但我想在该项目中使用 CMake,只是为了了解它是如何工作的。谷歌搜索没有透露任何有关如何将 cmake 与 haskell 结合使用的事实,而且我读到的所有教程都相当令人困惑。是否可能,如果可以,如何可能使用 CMake 编译用 Haskell 编写的项目?


您当然可以使用 CMake 来构建 Haskell 应用程序和库。为此,您需要复制 Cabal 所做的大部分工作,这很有启发性,但也很耗时。

我建议使用cabal build -v查看 Cabal 发出的命令,然后将它们转录为 CMake 形式。

或者,使用 CMake 在 Haskell 代码上调用 cabal ——这可能不会那么烦人。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Haskell 项目可以使用 cmake 吗? 的相关文章

随机推荐

  • 使用 PHPUnit 和 Mockery 进行 Laravel 测试 - 设置控制器测试的依赖关系

    在终于通过了我愚蠢的简单测试后 我有一种感觉 我做得不对 我有一个 SessionsController 负责显示登录页面并让用户登录 我决定不使用外观 这样我就不必扩展 Laravel 的 TestCase 并在单元测试中承受性能影响 因
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • 无法使用 -cp 和 jar 位置通过 Java ProcessBuilder 查找或加载类

    我正在尝试使用ProcessBuilder在我的系统中启动 JUnit 测试Java应用 我可以毫无问题地从命令行运行相同的命令 从 ProcessBuilder 运行时是否需要使用 jar 的绝对路径 还是可以使用相对路径 在命令行上运行
  • 不应该出现的错误

    这是我的第一个问题 如果我做错了什么 请原谅 我正在尽力 所以我得到了这个简单的代码
  • C++ 联合位域任务

    有人可以澄清我为什么要使用 union 以及 cin ed 变量和位字段的相同地址的目的是什么 Schildts C 书中的任务 换句话说 为什么我要使用 union 字符ch 结构字节位 以二进制形式显示字符的 ASCII 码 inclu
  • R 如何将 curly curly 与 filter 或 filter_ 一起使用?

    我正在回答这个question https stackoverflow com questions 54350264 dplyr unquoting does not work with filter function评论者建议 ensym
  • 如何在 Laravel 5 中使用 Orchestral/Tenanti 构建具有多个数据库的多租户应用程序?

    我正在尝试使用 Laravel 5 构建和应用程序 它应该是使用多个数据库的多租户数据库架构 我的雇主出于安全目的要求这样做 我尝试手动管理主数据库迁移和租户迁移 但失败了 所以我决定借助 Laravel 特定包的帮助 这应该是我所需要的
  • 从 log4j 附加程序中排除类

    我有一个 log4j properties 文件 如下所示 log4j logger com foo INFO foo log log4j logger com foo BarImpl INFO bar log 通常对于与包结构匹配的类co
  • SQL Android 错误:没有这样的表

    因此 每次我在位于 AddContacts 类中的 EditText 字段中输入数据时 我的对话框都会显示我已成功添加信息 但在日志 cat 中却显示没有这样的表 contactsTable 我认为错误出在我的数据库类中的 onCreate
  • 我可以使用 python with 语句进行条件执行吗?

    我正在尝试编写支持以下语义的代码 with scope action name as s do something do some other stuff 除其他事项 设置 清理 外 范围应决定此部分是否应运行 例如 如果用户将程序配置为绕
  • 如何使用 open with 语句打开文件

    我正在研究如何在 Python 中进行文件输入和输出 我编写了以下代码 将一个文件中的名称列表 每行一个 读取到另一个文件中 同时根据文件中的名称检查名称并将文本附加到文件中出现的位置 该代码有效 可以做得更好吗 我想用with open
  • 如何在Spring WebApplicationContext运行时添加bean实例?

    所以 标题非常简单 我有一个处理程序类DynamicBeanHandler它实现了BeanDefinitionRegistryPostProcessorspring提供的接口 在这堂课中 我添加了多个SCOPE SINGLETONbean
  • 从 Google 位置历史记录下载 KML 数据的当前 URL?

    我需要在一段时间内以kml格式下载google位置历史数据 截至 2015 年 8 月 26 日 以下格式的 URL 均有效 https maps google com locationhistory b 0 kml startTime s
  • 如何让 JavaScript 发出蜂鸣声?

    我希望我的网页在用户超出我的最大字符限制时发出蜂鸣声
  • 从“C”代码调用“C++”类成员函数

    我们如何在 C 代码中调用 C 类成员函数 我有两个文件 cpp 其中我定义了一些带有成员函数的类和相应的 h 文件 其中包含一些其他帮助 cpp h 文件 现在我想在 C 文件中调用CPP文件的这些功能 我该怎么做 C没有thiscall
  • 使用“ref”关键字将 List 作为参数传递,C#

    friends 所以我一直在写一个简单的程序 基本上 我有一个类 3 个字符串 1 个整数 一些方法 我正在从文本文件初始化此类对象的值 我为此使用列表 问题在于初始化是一个单独的函数 我在这个函数中声明并初始化了 List 但是 我可能在
  • 如何组织和管理ACL?

    采取Zend ACL http framework zend com manual en zend acl html作为我的例子 我想知道应该如何为项目组织它 当然 这个例子非常漂亮和简洁 但真实的网站要复杂得多 acl new Zend
  • 如何使用 Java 使用 Selenium WebDriver 处理 Chrome 中的身份验证弹出窗口

    我正在尝试在我的新 Webdriver 脚本之一中处理身份验证弹出窗口 我有一个适用于 IE 的可行解决方案 但我在 Chrome 上遇到了困难 IE 就像遵循 此页面 上的建议一样简单 如何使用 Java 使用 Selenium WebD
  • 错误:无法连接到 cassandra 服务器。未配置的表

    我正在尝试使用这个简单的代码通过 python 的 cassandra driver 连接到在本地桌面上运行的 cassandra from cassandra cluster import Cluster cluster Cluster
  • Haskell 项目可以使用 cmake 吗?

    我正在计划一个用 Haskell 编写的项目 也许也有一些部分是用 C 编写的 对于构建系统 我决定不选择 Haskell 程序 cabal 的常见选择 主要是因为我想了解其他语言的构建程序是如何工作的 我听说过 CMake 我认为这是一个