读书人

DFusion中lua调用c++生成的dll库而且

发布时间: 2012-08-10 12:19:33 作者: rapoo

DFusion中lua调用c++生成的dll库,并且lua调用c++代码(遍历文件夹中整个目录)


首先:工具:生成dll用vs2008。

一、首先生成lua库,即(*.lib)库

1、在lua官网上下载lua源代码

2、用vs2008建一个静态库,把lua源代码全加入到工程中,可以把lua.c、luac.c不用放到工程中。编译生成就可以了。

二、生成dll库

1.用vs2008建一个动态库,配置环境:

添加编译所需要(依赖)的 lib 文件[解决方案资源管理器]“项目->属性->配置属性->连接器->输入->附加依赖项”里填写“lua5.1.lib”,多个 lib 以空格隔开。 (等同于“#pragma comment(lib, "lua5.1.lib") ”语句) 添加库(Libs)文件目录方法 1:[解决方案资源管理器]“项目->属性->配置属性->连接器->常规->附加库目录” 方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“库文件”目录添加包含(include)文件目录(包含所有的lua的*.h文件)方法 1:[解决方案资源管理器]“项目->属性->配置属性->C/C++->常规->附加包含目录” 方法 2:[菜单]“工具->选项->项目和解决方案->C++ 目录”,选择对应平台,然后添加所需“包括文件”目录直接看源代码:
 ImageList = MyLuaDLL.myDir(dirPath,desDirPath)if ImageList thenfor k,v in pairs(ImageList) do LOG("k = "..k.." v = "..v)endelseLOG("DIR ERROR")end
我的myDir函数返回的是一个table。
注意:我用的lua版本lua5.1,所有这个版本中还有luaL_register这个函数,最新的版本中没有这个函数了。

读书人网 >C++

热点推荐