使用tdm-gcc编译lua5.2 socket模块

首先下载 luasocket,并准备好 gcc环境(我用的是 tdm64-gcc-4.8.1-3)。

选一个工作目录,比如 Temp,解压 luasocket-master.zip 到 Temp 目录下。

然后在 Temp目录下新建一个文本文件 makefile.diff,内容如下:

--- src\makefile
+++ src\makefile
@@ -18,18 +18,18 @@
 
 # LUAV: 5.1 5.2
 # lua version to build against
-LUAV?=5.1
+LUAV?=5.2
 
 # MYCFLAGS: to be set by user if needed
-MYCFLAGS=
+MYCFLAGS=-m64
 
 # MYLDFLAGS: to be set by user if needed
-MYLDFLAGS=
+MYLDFLAGS=-m64
 
 # DEBUG: NODEBUG DEBUG
 # debug mode causes luasocket to collect and returns timing information useful
 # for testing and debugging luasocket itself
-DEBUG?=NODEBUG
+DEBUG?=DEBUG
 
 # COMPAT: COMPAT NOCOMPAT
 # when compiling for 5.2, use LUA_COMPAT_MODULE
@@ -109,9 +109,10 @@
 # Install directories
 #
 
-INSTALL_DIR=install -d
-INSTALL_DATA=install -m644
-INSTALL_EXEC=install
+INSTALL_BB=busybox install
+INSTALL_DIR=$(INSTALL_BB) -d
+INSTALL_DATA=$(INSTALL_BB) -m644
+INSTALL_EXEC=$(INSTALL_BB)
 INSTALL_TOP=$(DESTDIR)$(prefix)
 
 INSTALL_TOP_LDIR=$(INSTALL_TOP)/$(LDIR)
@@ -372,7 +373,7 @@
 	$(INSTALL_EXEC) $(SERIAL_SO) $(INSTALL_SOCKET_CDIR)/$(SERIAL_SO)
 
 local:
-	$(MAKE) install INSTALL_TOP_CDIR=.. INSTALL_TOP_LDIR=..
+	$(MAKE) install INSTALL_TOP_CDIR=../build/clib INSTALL_TOP_LDIR=../build/lua
 
 clean:
 	rm -f $(SOCKET_SO) $(SOCKET_OBJS) $(SERIAL_OBJS)


打开 MinGW Command Prompt,进入工作目录下

cd Temp/luasocket-master

并打好补丁

busybox patch -p0 < ..\makefile.diff

然后就编译吧

mingw32-make LUAINC="C:\DEV\Lua52\include" LUALIB="C:\DEV\Lua52\liblua52.a" PLAT="mingw" mingw

注意一下有没有出错

echo %ERRORLEVEL%

打包

mingw32-make PLAT="mingw" local

OK,build 目录下就是编译好的模块了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值