Linux下使用静态链接方式如何使用Lua
Linux下使用静态链接方式如何使用Lua是本文要介绍的内容,主要是来学习在linux中使用lua的使用方式,具体内容的实现来看本文详解。环境是ubuntu9.04
首先去lua官方网站下载lua最新版
解压缩之后,从shell中进入目录,然后执行make
会给个提示,选择make的版本
因为是linux下,就打make linux
然后开始构建了,等下就好,进入src目录,里面有liblua.a
拷贝到项目需要的目录。
同时需要拷贝的是.h我建议把那头文件都拷贝到/usr/include下,这样以后用的时候方便,要不每次还得在gcc中加命令行
在gcc中指定头文件参见:
[*]http://blog.chinaunix.net/u/28781/showart.php?id=401631
然后写好代码就可以编译了。我的测试代码是:
代码
[*] void load (char *filename, int *width, int *height) {
[*]
[*] lua_State *L = lua_open();
[*] luaopen_base(L);
[*] luaopen_io(L);
[*] luaopen_string(L);
[*] luaopen_math(L);
[*] if (luaL_loadfile(L, filename) || lua_pcall(L, 0, 0, 0))
[*] error(L, "cannot run configuration file: %s",
[*] lua_tostring(L, -1));
[*] lua_getglobal(L, "width");
[*] lua_getglobal(L, "height");
[*] if (!lua_isnumber(L, -2))
[*] error(L, "`width' should be a number\n");
[*] if (!lua_isnumber(L, -1))
[*] error(L, "`height' should be a number\n");
[*] *width = (int)lua_tonumber(L, -2);
[*] *height = (int)lua_tonumber(L, -1);
[*] lua_close(L);
[*]}
[*]int main()
[*]{
[*] return 0;
[*]}
编译的命令行是:
[*]gcc test.c -L$HOME/Code/luatest -llua -lm
需要注意,gcc不用在静态库前加lib,得到的是liblua。。我刚开始编译的时候总提示找不到,后来在群里请教了一下大牛,解决了
还有-lm也是必须的,因为lua需要用到libm这个库。
小结:Linux下使用静态链接方式如何使用Lua的内容介绍完了,希望通过本文的学习能对你有所帮助!
【编辑推荐】
[*]浅谈LUA中使用Web开发初探
[*]详解C调用lua脚本效率测试
[*]详解使用Lua编写Wireshark的Dissector插件
[*]在VS2005中编译Luabind学习教程
[*]如何在VS2008中集成Lua解释器学习教程
[*]初学者必备文档:Lua初学常见问题解析
页:
[1]