在xcode上编译lua
来源:互联网 发布:windows phone 流畅 编辑:程序博客网 时间:2024/05/17 03:33
最近想学习一下Lua,虽然有那么多关于Lua的IDE,但是放着强大的xcode的不用,实在难受。网上搜到的教程就两种,那个出镜率最高的还不大好使。后来在Google上搜到一篇子龙山人的Lua教程,于是按这个来做,捣鼓一晚上没弄好。今天又按照错误信息搜了一下,想出一个新的解决方法。
下文中必须操作我都加粗了。ps:我的xcode是6.2版本。
1.准备工作
首先,新建一个控制台应用程序。 打开Xcode,New->Project->OSX->Command Line Tool,取名为Lesson01如下图所示:(名字什么的和子龙山人前辈的教程保持一致)
接下来下载Lua-5.3.0,貌似需要翻墙,翻不了的点击这里下载。
然后,解压缩,然后cd到刚刚解压缩的路径下面,输入make macosx,这样便可以生成Mac下面的lib文件了。
接下来把刚刚解压缩的文件夹拷贝到你新建的工程下面,我在这个根目录,如下图。
其中liblua.a是从lua-5.3.0文件夹里拷贝出来的。
然后设置include路径和library路径。
Header Search Pathes就是头文件所在路径,我直接把lua-5.3.0文件夹里src文件夹的绝对路径写上了,至于那个相对路径写法$(SRCROOT)试了几次没找对。
//Header Search Pathes/Users/xueyuan/Documents/Lesson01/lua-5.3.0/src/
Library Search Pathes 是链接库路径,我们的链接库就是那个拷贝出来的liblua.a文件,把它的绝对地址写上就行了,
//Library Search Pathes/Users/xueyuan/Documents/Lesson01/
又或者写成相对路径,这个找对了。。。(其实就是工程根目录)
//Library Search Pathes$(PROJECT_DIR)/
至此,子龙山人前辈的教程中设置就完成了……但是,运行会出错啊!
或许是osx和xcode都升级的原因吧,得把那个库文件填进去。
添加库文件,如图
看见第三栏了没?就那个Link Binary With Libraries,点击那个+,然后左下角有个Add Other,找到那个之前拷贝出来的liblua.a,就是它,添加进去。
这次运行成功了(不成功的就把main.cpp的头文件删掉,main()函数里留一个return 0;就可以了),尽管现在和lua没什么关系。
2. C++调用Lua文件
现在开始调用lua文件了。
首先,打开main.cpp,并包含以下头文件:
#include "lua.hpp"
如果此时编译不报错,则说明之前设置的Header Search Pathes是正确的,如果报错,请自行调整(按我的步骤一般不会有错)。
然后在main函数里面添加以下内容:
int main(int argc, const char * argv[]) { // insert code here... //1. 初始化Lua虚拟机 lua_State *lua_state; lua_state = luaL_newstate(); //2.设置待注册的Lua标准库,这个库是给你的Lua脚本用的 //因为接下来我们只想在Lua脚本里面输出hello world,所以只引入基本库就可以了 static const luaL_Reg lualibs[] = { { "base", luaopen_base }, { NULL, NULL} }; //3.注册Lua标准库并清空栈 const luaL_Reg *lib = lualibs; for(; lib->func != NULL; lib++) { luaL_requiref(lua_state, lib->name, lib->func, 1); lua_pop(lua_state, 1); } //4、运行hello.lua脚本 luaL_dofile(lua_state, "hello.lua"); //5. 关闭Lua虚拟机 lua_close(lua_state); return 0;}
3. 新建lua文件
选择New->File->Other,然后命名为hello.lua, 以下是hello.lua里面的内容:
print "啊啊啊啊啊"
运行会成功,但是显示不出来。
接下来还要调整点东西,如图(直接盗图了,xcode6.2在这里没啥变化)
运行,大功告成了。
- 在xcode上编译lua
- lua 交叉编译在arm上运行
- 在新版xcode上编译boost
- cocos2dx在xcode下开发,编译到android上
- 在MAC平台上编译GLFW并配置到Xcode
- Jenkins在Mac上的使用,关于Xcode编译问题
- 在Xcode下编译cocos2d-x语言为lua时出错的解决方案
- XCode编译和使用Lua的方法
- xcode下lua扩展库的编译
- XCode上搭建coos2dx + lua开发项目
- 在Wndows 上用CodeBlockes 写的代码移植到Mac OSX上,使用Xcode 编译
- 在xcode下构建cocos2dx-lua工程
- 在XCODE项目中使用lua--xcode 4.2
- 在XCODE项目中使用lua--xcode 4.2
- 在VS2008命令行编译Lua
- 在XCode上使用OpenCV
- 在XCode上禁用indexing
- ARSessionConfiguration 在xcode上找不到
- Opencv2:1.5 载入、显示及保存图像
- [Python]网络爬虫(一):抓取网页的含义和URL基本构成
- 今天是2015.3.26 我开始我写博客的日子了
- RaspberryPi上FreeSWITCH自启动
- Memcache 分布式高可用集群介绍
- 在xcode上编译lua
- android 各种简单的获取网页源码方式
- MonkeyRunner原理初步--Android自动化测试学习历程
- 重复数据删除In-band和Out-of-band的区别
- Git分支管理
- Python学习之路12——字符串1
- openGL 深度测试
- socket编程的select模型
- 目前我所掌握最全的高精度(大数)运算(第一次)