单一版本

简介: 单一版本

源码编译安装

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


目录
相关文章
|
5月前
|
数据处理 C语言
深入解析x86架构:X86, X86_32和X86_64的差异与应用
深入解析x86架构:X86, X86_32和X86_64的差异与应用
|
3月前
|
缓存 前端开发 数据格式
构建前端防腐策略问题之保证组件层的代码不受到接口版本变化的问题如何解决
构建前端防腐策略问题之保证组件层的代码不受到接口版本变化的问题如何解决
|
5月前
软件的质量特性及其子特性快速记忆表
软件的质量特性及其子特性快速记忆表
65 0
|
6月前
|
安全 编译器 测试技术
C++代码复用策略及与标准兼容性指南
C++代码复用策略及与标准兼容性指南
176 2
|
6月前
|
前端开发
第8期 volta保证团队开发环境的完全统一
第8期 volta保证团队开发环境的完全统一
49 0
|
算法 数据可视化 前端开发
衍生版本开发
欢迎来到我们的 QML & C++ 项目!这个项目结合了 QML(Qt Meta-Object Language)和 C++ 的强大功能,旨在开发出色的用户界面和高性能的后端逻辑。 在项目中,我们利用 QML 的声明式语法和可视化设计能力创建出现代化的用户界面。通过直观的编码和可重用的组件,我们能够迅速开发出丰富多样的界面效果和动画效果。同时,我们利用 QML 强大的集成能力,轻松将 C++ 的底层逻辑和数据模型集成到前端界面中。 在后端方面,我们使用 C++ 编写高性能的算法、数据处理和计算逻辑。C++ 是一种强大的编程语言,能够提供卓越的性能和可扩展性。我们的团队致力于优化代码,减少资
|
设计模式 Java
JAVA设计模式7:适配者模式,彻底解决两不兼容接口之间的问题
JAVA设计模式7:适配者模式,彻底解决两不兼容接口之间的问题
158 0
EMQ
|
SQL 存储 运维
HStreamDB v0.9 发布:分区模型扩展,支持与外部系统集成
分区模型扩展,允许用户直接操作和访问stream内部分区;通过内部数据集成框架HStream IO与多种外部系统的集成,促进数据的高效流转和价值释放。
EMQ
159 0
|
Cloud Native JavaScript Serverless
开发函数计算的正确姿势——使用交互模式安装依赖
函数计算以 Zip 压缩文件格式作为约定的交付物,交付物通常包含代码和依赖库文件。这些依赖库文件通常分为系统依赖(使用 apt-get 包管理安装的库)和语言运行时依赖(使用语言相关的包管理器如 npm、pip 安装的库)。安装这些依赖库时开发者需要一个交互式的沙箱环境一便于了解:已经安装了哪些软件,某个目录下有些什么文件 以及文件的内容以及属性是什么。
开发函数计算的正确姿势——使用交互模式安装依赖