VS2010編譯、調用Lua程序

一) 、創建lua源代碼工程,編譯lua的靜態庫
html

一、下載Lua源碼 http://www.lua.org/download.html 測試

      a 下載後解壓到一個目錄下,這裏假設解壓到D:\lua-5.1.5 b 注意下載的版本,若是是5.2.x,後面代碼中的C API發生了改變
二、在VS2010中新建一個靜態庫項目,項目命名爲lua
     a 選擇新建 Win32 console project
     b 在wizard界面選擇 static Library;不選擇Precomplied Header
三、往工程中添加代碼(Add -> Existing Item)
     a 添加D:\lua-5.1.5\src 目錄下的*.h文件到項目的Header Files目錄下
     b 添加D:\lua-5.1.5\src 目錄下的*.c文件到項目的Source Files目錄下
(可選)四、配置項目的屬性,在項目的「配置屬性」 界面中操做
    a Configuration Properties -> C/C++ -> General -> Additional Include Directories 
       添加D:\lua-5.1.5\src
    b Configuration Properties -> C/C++ -> Advanced -> compile as 
        這裏的選擇將影響後面代碼中如何指定編譯連接方式,後面的測試選擇的是Compile as C code
(可選)五、 生產項目 Build
     若是是DEBUG mode 將在Debug目錄下看到一個lua.lib文件,Release mode的lib文件在Release文件下

二)、後面添加一個項目嘗試在C/C++代碼中 , 調用剛纔的lua靜態庫
一、在解決方案中添加一個 Win32 console project,項目名稱命名爲testlua,後面wizard界面中的選項無需修改
二、添加對lua項目的引用
    a Common Properties -> Framework and References -> Add New References 
   選擇lua項目
三、添加對頭文件的include directory
   a Configuration Properties -> C/C++ -> General -> Additional Include Directories 
  添加D:\lua-5.1.5\src
四、在項目的的在testlua.cpp文件中添加下面的代碼
#include "stdafx.h"
#include <stdio.h>
#include <string.h>

extern "C"
{
#include <lua.h>
#include <lualib.h>
#include <lauxlib.h>
}

int _tmain(int argc, _TCHAR* argv[])
{
	lua_State *L = lua_open();
	luaL_openlibs(L);

	const char *buf = "print('Hello World')";
	luaL_dostring(L,buf);
	
	lua_close(L);
	getc(stdin);
	return 0;
}

5,設置默認的項目,不然要去手動運行生成的可執行文件testlua.exe (見附圖)
     Solution -> Properties -> Common Properties ->Startup Project ->Single startup project
     把默認的lua改成testlua
按F5或Ctrl+F5,將會在控制檯中輸入了Hello World。

來自:http://blog.csdn.net/berdy/article/details/7925040

附圖1:在一個項目中添加另外一個項目

附圖2: 設置默認項目

附圖3:靜態庫
       或者      
相關文章
相關標籤/搜索