vs项目中使用c++调用lua

在前一篇文章中。我们已经讲了怎样编译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字符集”改动为"使用多字节字符集"。




原文地址:https://www.cnblogs.com/wgwyanfs/p/6961605.html