昨天实现了在C代码中调用lua函数,今天反过来实现lua调用C时,总是遇到如博文标题这样的错误,查了一下网络,发现没有满意的解决方案。最终通过自己的不断尝试,终于找到了解决办法,写在这里记忆一下。
以VS19为例,讲一下如何用lua调用C,首先新建项目的不说了,新建好项目之后,在项目的【属性】-》【C/C++】-》【常规】-》【附加包含目录】添加一个目录值,笔者个人的目录值是【C:\Users\Administrator\Desktop\lua-5.4.3\src】(其实就是您下载解压的lua源码包里的【src】文件夹路径),不要以为这样就好了(我就错在这里),还有一步很重要:就是在项目的头文件里,点击【添加】-》【现有项】,然后把您lua源码包中【src】文件夹下的所有后缀为【.h】的文件都添加进来,接着如法炮制,再在源文件里添加后缀为【.c】的文件(除了【lua.c】与【luac.c】这两个文件,其他都加进来)。
做完上面的动作之后,就可以写代码测试了,在源文件下新建一个lua文件,笔者命名为【test.lua】,内容如下
,然后在main所在的源文件代码中书写以下代码:
测试成功了