1、下載Lua源碼,地址:http://www.lua.org/download.html(我用的是目前最新版5.2.3)
2、將源碼放在合適的盤(我的在D盤,路徑D:/Lua-5.2.3/src)
3、打開vs2013新建一個win32控制檯應用程序(Win32 console project ),我將他取名爲LuaLib
4、確定後,會彈出應用程序嚮導的提示框,點擊下一步。應用程序類型選擇靜態庫(static Library),附加選項去掉預編譯頭(Precomplied Header ),點擊完成。
5、向工程中添加頭文件(.h)與源碼(.c)
1)將D:/lua-5.2.3/src中所有.h文件複製到頭文件(Header Files)中
2)將D:/lua-5.2.3/src中所有.c文件複製到源文件(Code Files)中
6、配置項目屬性,打開項目->屬性->配置屬性
1)在C/C++項中點開常規,第一項附加包含目錄中填上D:/lua-5.2.3/src
2)在C/C++項中點開高級,第二項編譯爲選擇編譯爲C代碼(/TC)
7、生成項目,生成成功後會Debug(Release)文件中生成lua.lib文件。在這裏我生成時報了錯:
error c4996: 'fopen': This function or variable may be unsafe
若出現這個錯誤,需要在屬性頁的預處理器定義中加入_CRT_SECURE_NO_WARNINGS,再次生成就可以了。
二、在C++代碼中調用Lua
1、新建win32控制檯應用程序,取名爲TestLua,後面的不用改
2、在該項目的通用屬性中添加Lualib的引用
3、在C/C++項中點開常規,第一項附加包含目錄中填上D:/lua-5.2.3/src
4、在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;
}
5、在TestLua目錄下放入事先寫好的test.lua文件test.lua 這麼寫:print("hello, world!\nThis is lua.\n")
6、設置TestLua爲啓動項,並運行項目 就ok了