版本是 lua5.1 vs 2013
转载自 http://blog.csdn.net/wangbin_jxust/article/details/37557807
一、打开vs2010
使用vs2010编译lua5.1源码生成lua.lib),在新的项目中,我们继续使用之前的项目来学习如何使用c++调用lua。如果有遇到unprotected error in call to Lua API错误,请参考本文最后的做法。
生成时可能 有一些安全警告错误
为了禁止一些安全警告(Windows程序员知道为什么),需要再修改配置属性->C/C++–>预处理器->预处理器定义,在末尾添加
;_CRT_SECURE_NO_DEPRECATE;_SCL_SECURE_NO_DEPRECATE
view plain copy
print?
- #include "stdafx.h"
- extern "C"
- {
- #include
- #include
- #include
- }
-
- 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);
- getchar(); //这句可以让你清楚的看到打印的 hello world
- 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字符集”修改为"使用多字节字符集"。