lua脚本语言的学习-----------------VS2013如何编译lua脚本的三方库
2016-01-02 14:45
423 查看
在VS中,一般情况下,如果要使用lua脚本,最好的情况下就是把lua编译成动态库dll与lib,或者静态库dll。这样就可以在VS环境下,包含相应的库目录,以便于使用lua脚本语言来进行程序和lua的交互了。
下面来学习下如何利用VS来编译一个lua的插件吧。
1. 打开VS2013,新建一个WIN32控制台应用程序,然后将下载下来的lua版本中的src文件中的 *.h 和*.cpp文件全部包含进来。
2.直接进行编译,这时候就会出现一个错误。“无明确的入口函数”,这是因为在版本中包含有两个main函数,所有无法确定要执行的哪个版本的main函数,这时候主要将其中的一个源文件移除项目即可了。(具体只需要在VS中国搜索就可以找到了)。
3. 在属性->常规->配置类型: 分别选lib ,dll编译就可以了。
然后把生成的dll,lib,*.h打包,就形成一个可用的三方库了。
那么如何使用这个第三方库呢?
下面就来学习下:
1. 打开VS2013,新建一个WIN32控制台应用程序。
2.导出需要使用的lua头文件,由于lua的源码都是用c编译的,所以导出的时候需要加上extern "C"来导出。
3.在属性中,配置附加包含目录,附加库目录,包含的库等。
4.接口的使用
具体使用的源码如下:
// Lua_HelloWorld.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<process.h>
extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
int _tmain(int argc, _TCHAR* argv[])
{
lua_State *L = luaL_newstate(); //创建lua指针
luaL_openlibs(L); //关联lua指针
luaL_dofile(L, "test.lua"); //打开lua文件
lua_close(L); //关闭lua文件
system("pause");
return 0;
}
然后在test.lua中
添加lua代码就可以看到具体的执行结果了
下面来学习下如何利用VS来编译一个lua的插件吧。
1. 打开VS2013,新建一个WIN32控制台应用程序,然后将下载下来的lua版本中的src文件中的 *.h 和*.cpp文件全部包含进来。
2.直接进行编译,这时候就会出现一个错误。“无明确的入口函数”,这是因为在版本中包含有两个main函数,所有无法确定要执行的哪个版本的main函数,这时候主要将其中的一个源文件移除项目即可了。(具体只需要在VS中国搜索就可以找到了)。
3. 在属性->常规->配置类型: 分别选lib ,dll编译就可以了。
然后把生成的dll,lib,*.h打包,就形成一个可用的三方库了。
那么如何使用这个第三方库呢?
下面就来学习下:
1. 打开VS2013,新建一个WIN32控制台应用程序。
2.导出需要使用的lua头文件,由于lua的源码都是用c编译的,所以导出的时候需要加上extern "C"来导出。
3.在属性中,配置附加包含目录,附加库目录,包含的库等。
4.接口的使用
具体使用的源码如下:
// Lua_HelloWorld.cpp : 定义控制台应用程序的入口点。
//
#include "stdafx.h"
#include<process.h>
extern "C"{
#include "lua.h"
#include "lualib.h"
#include "lauxlib.h"
}
int _tmain(int argc, _TCHAR* argv[])
{
lua_State *L = luaL_newstate(); //创建lua指针
luaL_openlibs(L); //关联lua指针
luaL_dofile(L, "test.lua"); //打开lua文件
lua_close(L); //关闭lua文件
system("pause");
return 0;
}
然后在test.lua中
添加lua代码就可以看到具体的执行结果了
相关文章推荐
- 详解Lua中的表的概念及其相关操作方法
- Lua编程示例(二):面向对象、metatable对表进行扩展
- 把Lua编译进nginx步骤方法
- Lua脚本自动生成APK包
- Lua中的元表(metatable)、元方法(metamethod)详解
- Lua中的metatable介绍
- Lua中ipair和pair的区别
- Lua中的函数精讲笔记
- 浅谈Lua的面向对象特性
- 详解Lua中的变量相关知识点
- Lua脚本语言入门笔记
- Lua脚本调用外部脚本
- 详解Lua中的if语句的使用方法
- Lua中调用函数使用点号和冒号的区别
- Lua中的闭合函数、非全局函数与函数的尾调用详解
- Lua中强大的元方法__index详解
- Lua中调用C++函数示例
- Lua面向对象之类和继承浅析
- Lua性能优化技巧(一):前言
- Lua中获取table长度问题探讨