把Rake嵌入到C++应用程序中?还是有适用于LUA的Lake?
我找到了一些关于在 C++ 应用程序中嵌入 Ruby 的问题。几乎所有排名靠前的回答都建议使用 Lua。
考虑到我心目中的这个项目更适合使用已经在 Rake 中表达的语法(它是一个规则引擎),是否有任何简单的方法将 Rake 嵌入到 C++ 应用程序中,或者是否有类似于 Rake 的 Lua 模块?
要澄清的是:如果可能的话,我希望这是一个自包含的应用程序。它应该具有最小的先决条件,因为它将在一个相当基础的(Windows)操作系统上运行。
原文链接 https://stackoverflow.com/questions/882764
有许多构建系统可以使用 Lua,它们要么是基于 Lua 的,要么甚至是使用 Lua 实现的。其中一些在 Lua 用户维基 上列出。
在维基上列出的这些构建系统中,Bou 明确受到了 Rake 的启发。它的作者观察到“lake”这个名字在项目启动时已经被另一个构建系统使用,但没有提供链接,因此我不知道那个构建系统可能与之有关。自那时以来,Bou 已被重命名为 Lake,并搬到了新家。
Lake 是 Lua 社区的常规贡献者 Stevedonovan 的作品。与 Bou 一样,它几乎纯粹地使用 Lua 实现(其确实依赖于 LuaFileSystem 来进行文件系统访问)。它不像过滤器那样创建 Makefile 或 IDE 项目文件,而是根据用 Lua 编写的项目描述直接驱动编译器。构建项目是用 DSL(领域特定语言)描述的,其中包括访问 Lua 处理特殊情况的所有内容。
Lua 的“官方”二进制版本都来自一个名为 tecmake 的系统,它起源于 Tecgraf,就像 Lua 一样。 Tecmake 在 make 的基础上实现,通过包裹的 shell 脚本和一组常用的 Makefile 规则实现其约定。它对他们很有效,但个人来说,我从未能够让它在我的系统上运行。正在进行工作,以将 LuaBinaries 构建从 tecmake 的纠结中移动出来。
LuaRocks 使用 Lua 描述构建要求,几乎完全由 Lua 编写,旨在与分布式应用程序集成,以便应用程序可以进行自我更新。据我所知,LuaRocks 的目标之一是使项目构建使用它们的平台无关的“rock”文件,使用 LuaRocks 构建个人项目肯定会使它更容易发布供更广泛的分发。
作为后备选项,总是可以使用 Lua 作为扩展基于 makefile 的构建的另一种工具。我将它用作预处理任务的回退选项,否则我可能会将其委托给 awk 或 perl,例如从当前 fossil 修订版中收集详情到我的构建项目中。
更新:
随着时间的推移,知识得到了提高。正如 Victor T 在评论中所观察到的,Steve 的 Lake 实际上是以前被称为 Bou 的同一项目。显然,对于“Lake”这个名字的反对已经消失了,而我没有注意到它们是同一个工具。我已经编辑了原始答案和其更新,以更好地反映我的当前理解。
- 如何在roblox studio中1:1导入真实世界的地形?
- 求解,lua_resume的第二次调用继续执行协程问题。
- 【上海普陀区】内向猫网络招募【Skynet游戏框架Lua后端程序员】
- SF爱好求教:如何用lua实现游戏内调用数据库函数实现账号密码注册?
- Lua实现网站后台开发
- LUA错误显式返回,社区常见的规约是怎么样的
- lua5.3下载库失败
- 请问如何实现文本框内容和某个网页搜索框内容连接,并把网页输出来的结果反馈到另外一个文本框上
- lua lanes多线程使用
- 一个kv数据库
- openresty 有没有比较轻量的 docker 镜像
- 想问一下,有大佬用过luacurl吗
- 在Lua执行过程中使用Load函数出现问题
- 为什么 neovim 里没有显示一些特殊字符?
- Lua比较两个表的值(不考虑键的顺序)
- 有个lua简单的项目,外包,有意者加微信 liuheng600456详谈,最好在成都
- 如何在 Visual Studio 2022 中运行 Lua 代码?
- addEventListener 返回 nil Lua
- Lua中获取用户配置主目录的跨平台方法
- 如何编写 Lua 模式将字符串(嵌套数组)转换为真正的数组?
至少有两个名为“Lua Make”的不同项目(您可以在 Google 上搜索),并且还与Lua Rocks相关联一种构建系统。不清楚Lua Rocks是否有任何用处,但是其他两种似乎值得一看。