的笔记

随时随地编辑

lua编译笔记

今天玩了一把脚本,玩完的感觉是真的好稀饭脚本啊。


1、编译lua注意的总结
lua的项目默认是用在linux上用bjam编译,这点很爽。如果要在windows上编译,有两种方式:
a)用vs的命令行进入lua根目录,执行“etc\luavs.bat”即可,执行成功后会在src目录下生成以下三个文件:
    lua.exe
    lua.lib
    lua.dll
b)手动建立项目文件
自己新建一个静态库或动态库,将根目录下的src文件夹下所有文件拉进来,删除lua.c\luac.c这2个目录即可。注意需要设置编译选项中的字符集为“使用多字节字符集”,不然lua库运行时初始化会崩溃。

今天先用的第二个方式编译,一切正常,但是运行的时候发现初始化lua库的时候程序崩溃,跟踪发现问题出在lua_lib这个函数中,不是很得要领。后来尝试用第一种方式,才没有崩溃。比较发现需要设置编译选项中的字符集为“使用多字节字符集”。

luavs.bat内容如下:
cd src
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL l*.c
del lua.obj luac.obj
link /DLL /out:lua51.dll l*.obj
cl /O2 /W3 /c /DLUA_BUILD_AS_DLL lua.c
link /out:lua.exe lua.obj lua51.lib
cd ..

当然手动编译为dll的时候需要设置编译选项“LUA_BUILD_AS_DLL ”

2.编译luabind
编译luabind的时候,没耐心看官方说明文档,直接拉到vs中编译。当然还是看了下源文件的bjam的相关文件,没有发现有什么特殊的地方需要注意。所以直接编译,直接通过。

总结下,碰到这些开源项目没有vs工程文件,编译说明不像ogre那么全,第一感觉就是怕麻烦。其实那些开源社区的贡献者是非常聪明的人,并不会给我添多少麻烦,如果我非常周折还是有编译问题,说明我走弯路了,得静下来考虑。

3.luabind、luaplus、tolua++。。。
没有找到比较文档,中文有说luabind需要boost所以如何如何的,被我无视掉。所以优劣再说了。luabind是官方一个wiki中介绍的。luplus是武侠使用的,tolua是cegui使用的。

4.脚本赏析
这是脚步:

这是绑定ogre函数的代码:

编译运行后的结果:

posted on 2011-05-01 20:01 的笔记 阅读(4535) 评论(0)  编辑 收藏 引用


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理