轉自:http://www.jb51.net/article/55471.htmphp
1、準備工做html
一、下載Lua源碼,地址:http://www.lua.org/download.html(我用的是目前最新版5.2.3)ios
二、將源碼放在合適的盤(個人在D盤,路徑D:/Lua-5.2.3/src)app
三、打開vs2013新建一個win32控制檯應用程序(Win32 console project ),我將他取名爲LuaLibui
四、肯定後,會彈出應用程序嚮導的提示框,點擊下一步。應用程序類型選擇靜態庫(static Library),附加選項去掉預編譯頭(Precomplied Header ),點擊完成。lua
五、向工程中添加頭文件(.h)與源碼(.c)url
1)將D:/lua-5.2.3/src中全部.h文件複製到頭文件(Header Files)中spa
2)將D:/lua-5.2.3/src中全部.c文件複製到源文件(Code Files)中.net
六、配置項目屬性,打開項目->屬性->配置屬性htm
1)在C/C++項中點開常規,第一項附加包含目錄中填上D:/lua-5.2.3/src
2)在C/C++項中點開高級,第二項編譯爲選擇編譯爲C代碼(/TC)
七、生成項目,生成成功後會Debug(Release)文件中生成lua.lib文件。在這裏我生成時報了錯:
error c4996: 'fopen': This function or variable may be unsafe
若出現這個錯誤,須要在屬性頁的預處理器定義中加入_CRT_SECURE_NO_WARNINGS,再次生成就能夠了。
2、在C++代碼中調用Lua
一、新建win32控制檯應用程序,取名爲TestLua,後面的不用改
二、在該項目的通用屬性中添加Lualib的引用
三、在C/C++項中點開常規,第一項附加包含目錄中填上D:/lua-5.2.3/src
四、在TestLua.cpp中寫入代碼
#include "stdafx.h" #include <stdio.h> #include <string.h> #include <iostream> extern "C"{ #include <lua.h> #include <lualib.h> #include <lauxlib.h> } int _tmain(int argc, _TCHAR* argv[]) { using namespace std; lua_State *L = luaL_newstate(); luaL_openlibs(L); luaL_dofile(L, "test.lua"); lua_close(L); cin.get(); return 0; }
五、在TestLua目錄下放入事先寫好的test.lua文件
test.lua 這麼寫:print("hello, world!\nThis is lua.\n")
六、設置TestLua爲啓動項,並運行項目