单一版本

简介: 单一版本

源码编译安装

Linux 环境下安装 Lua 环境非常简单,下载源码编译并安装即可,找一个目录,之后进行如下操作即可:

$ wget http://www.lua.org/ftp/lua-5.3.6.tar.gz
$ tar zxf lua-5.3.6.tar.gz
$ cd lua-5.3.6
$ make linux test
$ sudo make install


安装完成测试:

$ lua
Lua 5.3.6  Copyright (C) 1994-2020 Lua.org, PUC-Rio
> 


提示

本笔记写于2021年9月23日,最新版已经是 5.4 了,这里用 5.3 的原因是因为主要目的是在嵌入式方面来使用 lua ,嵌入式方面 lua 的版本还没有这么新。


采坑

运行 $ make linux test 的时候报错如下:

cd src && make linux
make[1]: 进入目录“/home/iric/software/lua-5.3.6/src”
make all SYSCFLAGS="-DLUA_USE_LINUX" SYSLIBS="-Wl,-E -ldl -lreadline"
make[2]: 进入目录“/home/iric/software/lua-5.3.6/src”
gcc -std=gnu99 -O2 -Wall -Wextra -DLUA_COMPAT_5_2 -DLUA_USE_LINUX    -c -o lua.o lua.c
lua.c:82:10: fatal error: readline/readline.h: 没有那个文件或目录
   82 | #include <readline/readline.h>
      |          ^~~~~~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [<内置>:lua.o] 错误 1
make[2]: 离开目录“/home/iric/software/lua-5.3.6/src”
make[1]: *** [Makefile:110:linux] 错误 2
make[1]: 离开目录“/home/iric/software/lua-5.3.6/src”
make: *** [Makefile:55:linux] 错误 2


经过在官网手册上查找,官方说是少一个 libreadline-devreadline-devel 的包,通过 $ sudo apt-cache search readline-dev 得到如下结果:

lib32readline-dev - GNU readline and history libraries, development files (32-bit)
libreadline-dev - GNU readline 与 history 库,开发文件
lib64readline-dev - GNU readline and history libraries, development files (64-bit)
golang-github-chzyer-readline-dev - Readline is a pure go implementation for a GNU-Readline like library
libghc-readline-dev - Haskell bindings to GNU readline library


所以安装一下 libreadline-dev 包就行了,安装命令: $ sudo apt install libreadline-dev


卸载

源码安装方式

在源码目录下执行

$ sudo make uninstall


目录
相关文章
|
2天前
|
安全 编译器 测试技术
C++代码复用策略及与标准兼容性指南
C++代码复用策略及与标准兼容性指南
109 2
|
6月前
|
算法 数据可视化 前端开发
衍生版本开发
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
|
7月前
|
设计模式 Java
JAVA设计模式7:适配者模式,彻底解决两不兼容接口之间的问题
JAVA设计模式7:适配者模式,彻底解决两不兼容接口之间的问题
|
12月前
|
监控 架构师 安全
「应用组合管理」应用程序投资组合管理的权威指南
「应用组合管理」应用程序投资组合管理的权威指南
EMQ
|
SQL 存储 运维
HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成
分区模型扩展,允许用户直接操作和访问stream内部分区;通过内部数据集成框架HStream IO与多种外部系统的集成,促进数据的高效流转和价值释放。
EMQ
132 0
|
运维 前端开发 开发者
2021你应该解决前端环境差异
2021你应该解决前端环境差异
101 0
2021你应该解决前端环境差异
|
存储 缓存 监控
如何为从 1 到 10 万用户的应用程序,设计不同的扩展方案?
对于创业公司来说,有用户注册是好事情,但是当用户从零扩展到成千上万之后,Web 应用程序又该如何支持呢?
根据不同环境需求来选择合适的光模块?
随着信息化的高速发展,光通信应用已经越来越普及,大到远距离的高速骨干网、小到光纤宽带入户,光纤凭借大容量高速传输优势愈来愈发挥着更大的作用。有光纤的地方就离不开光模块,光模块的选择选购也成为一线工程技术人员或者采购人员关注的问题。
1468 0