• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

linux下使用静态链接方式使用lua

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

环境是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

 然后写好代码就可以编译了。我的测试代码是:

 1 void load (char *filename, int *width, int *height) {
 2 
 3     lua_State *= lua_open();
 4 
 5     luaopen_base(L);
 6 
 7     luaopen_io(L);
 8 
 9     luaopen_string(L);
10 
11     luaopen_math(L);
12 
13  
14 
15     if (luaL_loadfile(L, filename) || lua_pcall(L, 000))
16 
17        error(L, "cannot run configuration file: %s",
18 
19            lua_tostring(L, -1));
20 
21  
22 
23     lua_getglobal(L, "width");
24 
25     lua_getglobal(L, "height");
26 
27     if (!lua_isnumber(L, -2))
28 
29        error(L, "`width' should be a number\n");
30 
31     if (!lua_isnumber(L, -1))
32 
33        error(L, "`height' should be a number\n");
34 
35     *width = (int)lua_tonumber(L, -2);
36 
37     *height = (int)lua_tonumber(L, -1);
38 
39  
40 
41     lua_close(L);
42 
43 }
44 
45 int main()
46 {
47     return 0;
48 }


 编译的命令行是:

gcc test.c -L$HOME/Code/luatest -llua -lm 

需要注意,gcc不用在静态库前加lib,得到的是liblua。。我刚开始编译的时候总提示找不到,后来在群里请教了一下大牛,解决了

还有-lm也是必须的,因为lua需要用到libm这个库


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
1.0-Air302(NB-IOT)-硬件使用说明,下载和运行第一个lua程序(Mini板)发布时间:2022-07-22
下一篇:
skynet:热更新lua代码发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap