luaplus windows环境下 VC6编译

来源:互联网 发布:厂家寻找淘宝卖家合作 编辑:程序博客网 时间:2024/05/16 13:56

最近的项目中用到了lua,开始是直接使用lua自带的API进行调用,不过堆栈调来调去很麻烦,于是上网找lua 针对 C++的封装,经过一番权衡,最后选用了 luaplus。

本以为应该很容易就弄出来,结果坑爹的搞了一上午,在此写下编译过程,以方便后来人


1,下载源代码

http://luaplus.org/ 

这个是官网,不过坑爹是下载的资源只有git 这种方式,太麻烦。。(版本控制软件)

于是不甘心,继续google搜索,最终让我找到了蛛丝马迹:

http://luaplus.org/issues/4

这个bug填的也是个同胞,呵呵。

根据这个bug的回复,发现luaplus转到了github上。

https://github.com/jjensen/luaplus51-all

根据如上的链接,我们可以获取源代码了。


2,编译

按照wiki中的描述,要使用Jam生成VC的工程文件,不过经过笔者各种尝试,没成功。

不甘心之下继续上网搜索,发现一些帖子抽取源代码,自己手动建工程的方式编译的,于是尝试下,发现可行:


方法简述如下:

进入源代码目录中的luaplus子目录,由于我要编译的是静态库版本,所以再进入到StaticLib子目录中,使用文本编辑器打开LuaPlusStaticLib.jam 文件。

文本中主要注意的是:

   LUAPLUS_SRCS 后面的都是工程编译所要用的源代码文件。

   C.Defines LuaPlusShared 后面的 是预编译宏,需要加到工程中。

然后就是定好输出的路径和名称,点击编译即可了。


PS: 由于源代码文件太多了,逐个筛选太麻烦,截止该文发布,luaplus目录下和luaplus\src子目录下的文件,除了 luac.c, lua.c, LuaPlusAll.cpp外,都需要加入到工程中,

如果版本变化了,就简单参照一下吧。

PS2:这个版本有一个文件编译的时候会报错, 问题是返回值是void类型函数,写了返回值,把return去掉,重新编译即可。


OVER