ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

c-在Lua 5.2中使用“模块”功能吗?

2019-11-23 07:16:02  阅读:224  来源: 互联网

标签:module lua mysql c-4 function


我有一个使用Lua 5.2编写脚本的VC项目.
我正在尝试将MySQL兼容性实现到该项目中.
我不是这个项目的所有者,所以我希望更改尽可能少的源代码(如果有的话).
我已经将文件从this extension下载并解压缩到与可执行文件相同的基本目录中,并且在我的Main.lua文件中,我按要求在this wiki page上添加了require(‘DBI’)行.

但是,当我运行应用程序并执行脚本时,我得到:

LUA Fail:
C:\Path\To\bin\DBI.lua:3: attempt to call global 'module' (a nil value)

经过一番轻松的阅读后,我发现模块功能在Lua 5.2中已被弃用…
但是,此扩展以及其他MySQL扩展都需要使用模块功能.

那么,解决此问题的方法是什么?

解决方法:

您可能需要使用LUA_COMPAT_MODULE编译您的Lua实例;根据源代码:“ LUA_COMPAT_MODULE控制与先前模块功能’module'(Lua)和’luaL_register'(C)的兼容性”.

虽然这还不够,因为模块本身是用Lua 5.1 API编写的.您可以尝试找到其Lua 5.2版本,也可以使用类似Peter Cawley的TwoFace之类的东西,它“允许Lua 5.2程序无需重新编译就可以加载大多数5.1 C库”.

标签:module,lua,mysql,c-4,function
来源: https://codeday.me/bug/20191123/2065985.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有