今天尝试编译了一下lua的源码,毕竟了解源码对于程序员还是很有诱惑力的。废话不多说,网上关于Windows下的lua源码编译写的都不完整,费了好大力气,不是bat就是makefile还能不能让我这种小白程序员好好活了。
本次是在vs2013上进行的试验,编译后生成静态库、lua解释器lua.exe、lua编译器luac.exe。有下过源码都会发现src目录里边就有lua.c和luac.c两个源文件。网上一堆人说要把这两个文件删除,然后把src里边剩下的.h和.c文件分别包含到工程。搞了半天才发现lua.c和luac.c里边都有main函数,学习过c语言都知道一个工程不能有两个main函数,但是最少要有一个main函数,没有入口搞啥嘛。
正确的操作是将src里边的.h和.c分别包含到工程,编译lua解释器和编译器得分为两个工程,就是说一个工程放lua.c,一个放luac.c看需要;至于lua静态库lib的话就不需要lua.c和·luac.c这两个文件,注意选择的是控制台的静态库;
生成成功的lua.exe和luac.exe如下