首先是Lua的安装
个人比较喜欢直接从官方网站下载源代码编译而不是从Ubuntu的源安装,一个是官方的版本不是最新的,另一个则是源安装的lua不知道把各个文件夹都塞到几个分散的地方了,找起来很麻烦。
在上面可以下载到源代码:。理论上解压以后进入src/文件夹下面运行make linux install就可以了。但是事实上你会发现你还差一个包,用这个命令安装:sudo apt-get install libreadline5。
你也可以直接从lua下载编译好的二进制包,按照网站上的说明直接拷贝到相应目录下面就可以用了。
版本问题
一个很容易让人焦头烂额的地方就是Lua的版本问题。Lua 5.1相比5.0版很夸张的改了好几个重要函数的名字,而网上的教程、范例基本上都是沿用的5.0,你会在编译的时候收到一砣一砣的错误。你可以参考lua源代码包的doc/manual.html里最后一部分“Incompatibilities with the Previous Version“。
比较变态的是,除了这个manual之外很难找到其他关于5.1版的信息,唯一一个官方的基于5.1版写的《programming in lua》第二版,却只能在Amazon书店订购。第一版虽然免费提供但是确是基于5.0的。让人怀疑他们是不是就打算用这种办法来卖书挣钱了
C编译
在编译与Lua交互的C/C++程序的时候别忘了链接相应的库:在gcc命令中加上参数 -llua -ldl