2013-04-30 179 views
5

我在看开始学习Lua并想知道是否可以在C++环境中编辑,运行和调试Visual Studio 2012中的Lua代码。我查看了一下,发现有Visual Studio 2008和2010的插件,但目前似乎无法找到任何关于我所寻找的信息。Lua in visual studio 2012?

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

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

+1

由于您使用Visual Studio,因此您在Windows上。在这种情况下,最好的方法是使用[Lua for Windows](http://code.google.com/p/luaforwindows/downloads/list)软件包。这将为您提供一个名为SciTE的代码编辑器,它具有语法着色和大部分Lua标准库的内置帮助。它还将为您提供一个Lua解释器和大量可用的库,这些库都是为Windows构建的。 – RBerteig 2013-04-30 22:42:56

+2

要获得更完整的IDE环境,请查看令人惊叹的[Zero Brane Studio](http://studio.zerobrane.com/)。它提供了一个完整的IDE,为在各种环境中托管的Lua提供了体面的调试支持。 – RBerteig 2013-04-30 22:45:46

回答

15

发现这一个:http://techneilogy.blogspot.de/2012/02/compiling-lua-with-visual-studio-2010.html

编译Lua的使用Visual Studio 2010

下载的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++文件。在VC++ for VS2010中,它位于解决方案文件夹下的 项目文件夹中。 (如果您不确定,请创建一个临时.h文件并查看VS放置的位置。)

3)现在回到Visual Studio中,并使用Solution Explorer窗口将文件添加到解决方案 中Add => Existing Item ... 选项。添加了“头 文件”下的.h或.HPP扩展名的文件和全部文件下.c扩展“源文件”。

编译的Lua

1)如果你试图编译项目在这一点上,你会得到一个 错误消息类似于:

luac.obj:错误LNK2005:_main已在lua中定义。obj

这是因为Lua分配包括 Lua REPL /文件解释器(lua.c)和字节码编译器 (luac.c)的主要文件。

2)为了目前的目的,你需要解释器“lua.c”,所以从项目中删除 编译器“luac.c”。现在做一个重建。

运行的Lua

1)如果重建全部成功,你应该能够使用Visual Studio中,从资源管理器中,或命令 提示符下运行 Lua的REPL。结果应该是这个样子:

2)尝试输入几行作为一个测试:通过

3)您也可以运行在命令行的Lua程序文件与可执行文件的名称后Lua程序文件名。 这就是它的全部。现在您可以开始将Lua作为 语言和作为可嵌入的解释器进行探索。毫无疑问,你会写一个 “hello world”,一个斐波那契发生器等等。如果你想尝试在C代码中给语言本身添加 命令,你可以尝试用你的名字等创建一个 函数。从Lua站点的链接(包括“包含电池” 版本)以及使用其他 配置(包括指向几个完整项目的链接)在Windows下编译Lua的提示中获取 可用资源。

+0

不是在VS中运行Lua脚本之后的OP,而不是构建Lua源代码? – 2013-04-30 15:12:39

+0

运行Lua也在我上面提到的文章中解释过 – duDE 2013-04-30 15:13:33