环境:windows 10 企业版 + mingw32 gcc 4.9.2 + lua 5.3.3
1、先编译出lua53.dll;
2、将此makefile直接覆盖原来的文件并修改好<>的内容;
3、 使用命令 make win 即可完成编译;
MakeFile参考:
.PHONY : all win clean
win : lpeg.dll
LIBNAME = lpeg
LUADIR = <这里填写lua源码目录的绝对路径>
CFLAGS = -Wall -O2 -std=c99 -I$(LUADIR)
CC = gcc
FILES = lpvm.o lpcap.o lptree.o lpcode.o lpprint.o
lpeg.dll : $(FILES)
$(CC) $(DLLFLAGS) $(FILES) --shared -fPIC -o lpeg.dll <这里填写Lua5.3dll绝对路径>
$(FILES): makefile
clean:
del $(FILES) lpeg.so
lpcap.o: lpcap.c lpcap.h lptypes.h
lpcode.o: lpcode.c lptypes.h lpcode.h lptree.h lpvm.h lpcap.h
lpprint.o: lpprint.c lptypes.h lpprint.h lptree.h lpvm.h lpcap.h
lptree.o: lptree.c lptypes.h lpcap.h lpcode.h lptree.h lpvm.h lpprint.h
lpvm.o: lpvm.c lpcap.h lptypes.h lpvm.h lpprint.h lptree.h
小插曲:中间一直报”WinMain未定义“,其实是没加上--shared参数。加上后正常编译。
最后将编译好的lpeg.dll放入lua根目录就可以正常使用了。