我创建了一个非常简单的C dll,我尝试使用Lua交互模式加载它
当我使用require
时,我得到:
error loading module 'LuaExperiment' from file 'C:\Lua\5.2.4\LuaExperiment.dll' The specified procedure could not be found
当我使用package.loadlib
时,我得到了
multiple Lua VMs detected
Bellow是我的Lua安装文件夹的内容(LuaExperiment是我的项目):
我执行了以下操作来创建上面的文件夹: 以管理员身份打开VS2015的开发人员命令提示符 并输入以下命令:
> vcvars32
> cl /MD /O2 /c /DLUA_BUILD_AS_DLL *.c
> ren lua.obj lua.o
> ren luac.obj luac.o
> link /DLL /IMPLIB:lua5.2.4.lib /OUT:lua5.2.4.dll *.obj
> link /OUT:lua.exe lua.o lua5.2.4.lib
> lib /OUT:lua5.2.4-static.lib *.obj
> link /OUT:luac.exe luac.o lua5.2.4-static.lib
这些是我对Project Properties所做的更改:
将C:\Lua\5.2.4;
添加到VC++ Directories->Include Directories
将C\C++->Advanced->Compile As
更改为Compile as C Code (/TC)
将C:\Lua\5.2.4\*.lib;
添加到Linker->Additional Dependencies
以下是.h和.c文件: