2013-04-30 168 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