windows下编译lua的lpeg库

首先按照在windows下的编译lua源码的方法编译出lua.lib、lub.dll,将其和lua的头文件一起放在lpeg的源码目录下。
《windows下编译lua的lpeg库》

打开vs的命令行工具,注意要和编译lua源码所用的工具一致。

《windows下编译lua的lpeg库》

切换到lpeg源码目录:注意需要先修改lpeg的源码,lptree.c文件中的luaopen_lpeg函数需要加上导出声明,否则require不能正确加载库

int __declspec(dllexport) luaopen_lpeg (lua_State *L);
int __declspec(dllexport) luaopen_lpeg (lua_State *L) {}

编译:cl /MD /O2 /c *.c
链接:link /DLL /OUT:lpeg.dll *.obj lua.lib
最终生成lpeg.dll
运行lua test.lua完成测试

另外在某台机器上碰到个奇怪的问题,需要修改luaopen_lpeg中的lpeg名称以及最终生成的dll名称,比如改成pegl

    原文作者:silvercore
    原文地址: https://segmentfault.com/a/1190000008067294
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞