在 Visual Studio 2012 中使用 Lua?

我正在考虑开始学习Lua,并想知道在C ++环境中是否可以在Visual Studio 2012中编辑,运行和调试Lua代码。我已经查找过并发现有适用于Visual Studio 2008和2010的插件,但目前似乎找不到我正在寻找的任何信息。

良好的起点将为Lua代码提供语法高亮显示,并提供与调试器的集成。在Lua代码和C或C ++库代码之间无缝调试的能力将是理想的。

如果不是VS2012,那么应该考虑哪个IDE?

点赞
用户1758762
用户1758762

使用 Visual Studio 2010 编译 Lua

下载 Lua

  1. http://www.lua.org/ 下载想要的 Lua 源代码。在本文发布时,最新版本的源代码位于页面顶部:http://www.lua.org/download.html

  2. 最新版本被压缩成 gzip (.gz) 格式。如果你没有能够解压缩的工具,可以选择一些免费或低价的工具(笔者建议使用 7-Zip)。你可以在备份的位置解压缩,或是在创建 Visual Studio 项目后直接解压缩。

创建 VS2010 C++ 项目

  1. 打开 Visual Studio 并创建一个新的 Visual C++ 项目。你需要创建的项目类型是在 Visual Studio 2010 中列出的:File => New => Project… => Visual C++ => General => Empty Project。可以随意命名,例如 “Lua”(如果与你当前使用的任何其他版本的 Lua 不冲突),或者 “Lua52”(如果你想跟踪版本)。

  2. 将 Lua 源文件复制或解压缩到 Visual Studio 存放 C++ 文件的默认位置。在 VS2010 的 VC++ 中,这就是在解决方案文件下的项目文件夹中。如果你不确定,可以创建一个临时的 .h 文件,看看 VS 将其放在哪里。

  3. 现在回到 Visual Studio,使用 Solution Explorer 窗口的 Add => Existing Item… 选项将文件添加到解决方案中。将 “Header Files” 下的所有扩展名为 .h 或 .hpp 的文件添加进来,将 “Source Files” 下的所有扩展名为 .c 的文件添加进来。

编译 Lua

  1. 如果此时尝试编译项目,你会得到一个类似于以下信息的错误消息:

    luac.obj : error LNK2005: _main already defined in lua.obj

    这是因为 Lua 发行版包含了多个 main 文件,其中包括用于 Lua REPL / 文件解释器 (lua.c) 和用于字节码编译器 (luac.c) 的 main 文件。

  2. 为了当前的目的,你需要解释器 “lua.c”,因此从项目中删除编译器 “luac.c”。现在进行重建。

运行 Lua

  1. 如果重建全部成功,你应该可以在 Visual Studio 里内部运行 Lua REPL、从资源管理器中运行,或从命令行提示符启动。结果应该类似于这样:

    Lua Running on Command Prompt

  2. 尝试输入一些代码进行测试:

    Lua Test Code

  3. 你还可以通过在可执行文件的后面加上 Lua 程序文件名称来从命令行运行 Lua 程序文件。这就是全部内容。现在,你可以开始探索 Lua 作为一种语言和嵌入式解释器。毫无疑问,你会编写 “hello world”、斐波那契数列生成器等程序。如果你想尝试在 C 代码中添加语言本身的命令,可以尝试创建一个带有你的名称的函数。你还可以查看 Lua 网站上提供的资源链接(包括“电池包”版本和在其他配置下编译 Lua 的提示,以及一些完整项目的链接)。

2013-04-30 15:00:39