在前一篇文章中。我们已经讲了怎样编译lua源代码并生成lua.lib(请阅读 使用vs2010编译lua5.1源代码生成lua.lib),在新的项目中,我们继续使用之前的项目来学习怎样使用c++调用lua。
假设有遇到unprotected error in call to Lua API错误。请參考本文最后的做法。
一、创建项目
相同在该解决方式中,右键解决方式->加入项目->命名为testlua,选择win32控制台程序->不须要其它配置,选择完毕。
二、配置项目
右键testlua项目->通用属性->框架和引用->加入新引用,指向lua项目。
右键testlua项目->配置属性->c/c++->常规->附加包括文件夹中。加入lua源代码地址。
三、代码调用
#include "stdafx.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); return 0; }
五、创建lua文件
在当前cpp文件所在的文件夹下,创建一个test.lua文件,文件中写加上lua代码,这里我写的是 print("hello world from lua file")
四、完毕
直接执行,能够输出"hello world" 和 hello world from lua file。
假设遇到 unprotected error in call to Lua API (unable to get ModuleFileName)错误,请改动两个项目的字符集,项目右键->配置属性->常规->字符集。这里将“使用unicode字符集”改动为"使用多字节字符集"。