lua 调用c++ dll, 提示:lua: error loading module ‘cppdll2’ from file ‘.\cppdll2.dll’:
%1 不是有效的 Win32 应用程序。

出现原因:

1.lua版本错误

比如你用生成dll用的lua源文件和lib 是 lua5.4的版本,但是调用lua用的是lua5.1,那绝对会报错;
解决方法:
重新生成 lib,dll 和 exe,用对应版本的exe执行lua代码。

2.命名错误

在这里插入图片描述
红框 1 和 3名字一定要相同!!!
红框2 的 luaopen_xxx 的 xxx必须是 dll的名称,即xxx.dll
红框1和红框2名字绝对不能相同,这是明显的语法错误,但是生成时没有报错,调用才报错!

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐