vc 编译lua5.1.1
一。编译lualib(静态库/动态库):
把所有文件添加进来,然后去掉
a. lua.c,lua.h;它们是用来编译解释器的。
b. luac.c,print.c;它们是用来编译lua编译器的。
说明:
lua以前一般将此分成core lib和standard lib,其中所有带lib字串的文件
都是standard lib的。对于使用都一般core lib 和 standard lib都是必要
的,所以把它编译成一个库就ok了.
一。编译lualib(静态库/动态库):
把所有文件添加进来,然后去掉
a. lua.c,lua.h;它们是用来编译解释器的。
b. luac.c,print.c;它们是用来编译lua编译器的。
说明:
lua以前一般将此分成core lib和standard lib,其中所有带lib字串的文件
都是standard lib的。对于使用都一般core lib 和 standard lib都是必要
的,所以把它编译成一个库就ok了.
二。编译解释器(exe执行文件)
工程关联lualib,并
将lua.c,lua.h;加进工程编译。
三。编译lua编译器(exe执行文件)
工程关联lualib的静态库(注意动态库不行),并
将luac.c,print.c;加进工程编译。
提示:
需要注意的是,在vc中要将lua对应的所有.c文件改成c++的编译方式,
否则在使用lua库时会提示找不到导出函数的链接错误(调用方式不同)!
使用vc自带的dumpbin/exports file.lib > out.txt 可查看所导出的函数名
(c约定的显示函数名前多"_", 而c++约定的会带@和参数等符号)
更多的信息可参见etc/luavs.bat
以及Makefile和INSTALL文件
另外似乎5.1.1不能直接呼叫luaopen_io(L);但可通过luaL_openlibs(L);来将它们一次打开