我需要在Lua中加载一个DLL文件,以连接不同的API。我知道可以加载C类型的dll,但我所拥有的是由C++生成的dll文件。
生成此库的C++代码形式如下:
// MyAPI.h
namespace MyAPI
{
public class MyFirstClass
{
public:
MyFirstClass();
void performSomeMethod(int arg);
}
}
接着生成了dll文件MyAPI.dll
。现在我尝试使用以下代码将其导入Lua:
require "MyAPI"
当我尝试加载'MyAPI'模块时,它立即报错:error loading module 'MyAPI' from file '.\MyAPI.dll': The specified procedure could not be found
。我不理解这是什么意思,也不知道怎么解决它。一般情况下,Lua无法包含C++库吗(我该编写另一个C包装器),还是有其他方法可以做到这一点?