编译lua动态库
在vs2017中新建一个空项目,项目名luadll。
鼠标右键项目,配置选“所有配置”,平台选“所有平台”。
常规:
输出目录:$(SolutionDir)..in$(Platform)$(Configuration)
中检目录:$(SolutionDir)..intemp$(Platform)$(ProjectName)$(Configuration)
项目默认值中,配置类型选“动态库(.dll)”
我将下载好的lua源码和这个项目放在同一个目录下,luasrc是所有lua源码。
鼠标右键项目->添加->现有项,将luasrc目录下的lapi.c lcode.c lctype.c ldebug.c ldo.c ldump.c lfunc.c lgc.c llex.c lmem.c lobject.c lopcodes.c lparser.c lstate.c lstring.c ltable.c ltm.c lundump.c lvm.c lzio.c lauxlib.c lbaselib.c lbitlib.c lcorolib.c ldblib.c liolib.c lmathlib.c loslib.c lstrlib.c ltablib.c lutf8lib.c loadlib.c linit.c这些c文件,全部选上,引入过来。
鼠标右键项目属性,C/C++ 预处理器 预处理器定义 添加LUA_BUILD_AS_DLL
然后点击生成。
在输出目录下,得到下面两个文件。
新建一个lua空项目。
鼠标右键项目,配置选“所有配置”,平台选“所有平台”。
常规:
输出目录:$(SolutionDir)..in$(Platform)$(Configuration)
中检目录:$(SolutionDir)..intemp$(Platform)$(ProjectName)$(Configuration)
鼠标右键项目->添加->现有项,将lua.c选中,添加到lua项目中。
鼠标右键项目,点击链接器->常规->附加库目录。
$(SolutionDir)..in$(Platform)$(Configuration);%(AdditionalLibraryDirectories)
点击链接器->输入->附加依赖项:luadll.lib(自己拿到lua源码编译的动态库,生成之后的lib文件。)
点击生成
在lua.exe同目录下,新建test1.lua文件
for i=1, 4 do
print(i.."只爱白菜的小昆虫")
end
在命令行执行