首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

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

2012-08-10 
DFusion中lua调用c++生成的dll库,并且lua调用c++代码(遍历文件夹中整个目录)首先:工具:生成dll用vs2008。一

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这个函数,最新的版本中没有这个函数了。

热点排行