lua编译问题总结

LUA笔记(4)----移植LUA到ARM平台 一,下载LUA的源码 下载地址:http://www.lua.org/download.html 解压下载的下载的压缩包 tar -xvf lua-5.1.4.tar.gz (解压到哪里都可以) 二,修改编译器 我用的交叉编译器器是arm-cortex_a9-linux-gnueabi-gcc 进入到刚才解压出来的文件夹中: cd lua-5.1.4/src 在src下有个... 阅读详情

1、首先安装lua

linux系统

make linux

make install


2、编译


gcc -lm  -g -o test test.c /usr/local/lib/liblua.a -ldl


如果少-ldl,那么编译就会报:

gcc -lm  -g -o test test.c /usr/local/lib/liblua.a 

/usr/local/lib/liblua.a(loadlib.o): In function `gctm':
loadlib.c:(.text+0x35): undefined reference to `dlclose'
/usr/local/lib/liblua.a(loadlib.o): In function `ll_loadfunc':
loadlib.c:(.text+0xc0): undefined reference to `dlopen'
loadlib.c:(.text+0xfc): undefined reference to `dlsym'
loadlib.c:(.text+0x198): undefined reference to `dlerror'
loadlib.c:(.text+0x1bb): undefined reference to `dlerror'



如果少liblua.a ,就会报如下问题:

[wangbin@tuan lua]$ gcc -lm  -g -o test test.c  -ldl                       
/tmp/ccCT0d24.o: In function `main':
/home/wangbin/work/tmp/lua/test.c:26: undefined reference to `luaL_newstate'
/home/wangbin/work/tmp/lua/test.c:27: undefined reference to `luaL_openlibs'
/home/wangbin/work/tmp/lua/test.c:29: undefined reference to `luaL_loadbufferx'
/home/wangbin/work/tmp/lua/test.c:29: undefined reference to `lua_pcallk'
/home/wangbin/work/tmp/lua/test.c:32: undefined reference to `lua_tolstring'
/home/wangbin/work/tmp/lua/test.c:33: undefined reference to `lua_settop'
/home/wangbin/work/tmp/lua/test.c:36: undefined reference to `lua_close'
collect2: ld returned 1 exit status


如果少-lm,那么编译结果如下:

[wangbin@tuan lua]$ gcc -g -o test test.c /usr/local/lib/liblua.a -ldl
/usr/local/lib/liblua.a(lobject.o): In function `luaO_arith':
lobject.c:(.text+0xdf): undefined reference to `pow'
/usr/local/lib/liblua.a(lvm.o): In function `luaV_execute':
lvm.c:(.text+0x159a): undefined reference to `pow'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_sin':
lmathlib.c:(.text+0x3e): undefined reference to `sin'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_sinh':
lmathlib.c:(.text+0x6e): undefined reference to `sinh'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_cos':
lmathlib.c:(.text+0x9e): undefined reference to `cos'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_cosh':
lmathlib.c:(.text+0xce): undefined reference to `cosh'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_tan':
lmathlib.c:(.text+0xfe): undefined reference to `tan'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_tanh':
lmathlib.c:(.text+0x12e): undefined reference to `tanh'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_asin':
lmathlib.c:(.text+0x15e): undefined reference to `asin'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_acos':
lmathlib.c:(.text+0x18e): undefined reference to `acos'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_atan':
lmathlib.c:(.text+0x1be): undefined reference to `atan'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_atan2':
lmathlib.c:(.text+0x1fb): undefined reference to `atan2'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_fmod':
lmathlib.c:(.text+0x2db): undefined reference to `fmod'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_sqrt':
lmathlib.c:(.text+0x391): undefined reference to `sqrt'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_pow':
lmathlib.c:(.text+0x3d3): undefined reference to `pow'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_log':
lmathlib.c:(.text+0x450): undefined reference to `log'
lmathlib.c:(.text+0x460): undefined reference to `log'
lmathlib.c:(.text+0x486): undefined reference to `log10'
lmathlib.c:(.text+0x4aa): undefined reference to `log'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_log10':
lmathlib.c:(.text+0x4de): undefined reference to `log10'
/usr/local/lib/liblua.a(lmathlib.o): In function `math_exp':
lmathlib.c:(.text+0x50e): undefined reference to `exp'
collect2: ld returned 1 exit status




鸿蒙平板PC应用开发:在termux中安装ubuntu 打开AVNC点击右上角的设置图标,然后点击 输入 , 点击手势栏目中的 单指轻扫 ,选择滚动远程内容 阅读详情

相关推荐

基于C#的机器人控制框架:如何将ROS与硬件集成

本文探讨了如何利用C#与ROS(Robot Operating System)集成开发机器人控制系统。通过ROSSharp库和rosbridge中间件,实现了C#与ROS的WebSocket通信,并展示了硬件控制模块的设计方法。文章详细介绍了电机控制的串口通信实现、ROS消息订阅机制,以及性能优化和容错处理策略,最终构建了一个智能小车控制框架的案例。这种C#与ROS的集成方案为机器人开发提供了跨平台支持,同时兼顾了系统的高效性和可靠性。

这里只有干货:从 Modbus 通信到 MES 对接,从 YOLO 训练到工控机部署,带你搞定工业软件开发全流程。 1140

Linux undefined reference to `cos‘

今天,在编译一段代码时,出现错误 “undefined reference to cos” 但是,该文件已经包含了math.h头文件,错误原因主要是没有定义“cos”函数,或者说没有找到“cos”函数的实现,虽然我们在函数开头声明了数学函数库,但还是没有找到cos的实现,这时我们就需要指定sin函数的具体路径了。 系统一些默认库的位置在/lib/下面,我们可以在编译时,加上参数"-lm",‘l’代表lib,而‘m’代表math库,这就形成了“-lm” 因此,可以这样写“gcc test.c -o test

我的blog屋 3141

GIS国土工具实战:从地类分析到坐标转换,一站式解决项目难题

本文详细介绍了GIS国土工具在国土整治项目中的高效应用,涵盖地类分析、坐标转换、影像加载等核心功能。通过实战案例展示如何利用该工具快速处理shp与txt文件转换、智能比对三调二调数据,以及优化影像加载策略,显著提升项目效率。特别适合需要处理复杂国土数据的专业人员使用。

weixin_28732953的博客 334

c静态库被c++程序调用时应该注意的问题

用 gcc 和 ar 编译的c静态库*.a,被c++程序调用,用g++编译。 1.头文件问题:c静态库的头文件一定要被其头文件要被 extern "C" 包围,否则可能出现undefined reference的问题,参考: undefined reference问题总结 http://ticktick.blog.51cto.com/823160/431329

csbmary的专栏 3933

保姆级教程:在SIwave 2024 R2中搞定TDR仿真,手把手教你分析USB 3.0差分线阻抗

本文提供了一份详细的SIwave 2024 R2 TDR仿真教程,重点讲解如何分析USB 3.0差分线阻抗。从项目准备、参数配置到结果分析,逐步指导工程师完成完整的仿真流程,并分享实战经验和高级技巧,帮助提升信号完整性分析能力。

weixin_33670786的博客 497

量子城域网系列(六):从星型到环形,解析QKD网络拓扑的演进与选型

本文深入解析了量子密钥分发网络从星型到环形等主流拓扑结构的演进历程与核心原理。针对量子城域网的实际部署,文章详细对比了星型、总线型和环形拓扑的优缺点,并结合政务云、金融网点等典型应用场景,提供了实战选型指南,帮助读者在物理限制、安全需求与成本效率间找到最佳平衡。

weixin_29197835的博客 111

“undefined reference to“ 问题汇总及解决方法 ------非常非常好的一篇文章

`先将test.c编译成库文件。将main.c编译成可执行文件。网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。将main.c编译成可执行文件。[外链图片转存中…(img-qH9A9YzE-1726115367932)][外链图片转存中…(img-8JiPOJUk-1726115367933)]

2401_86963593的博客 773

芯片ATE测试PAT(Part Average Testing)学习总结-20250916

文章摘要:零件平均测试(PAT)是半导体制造中基于统计学的质量控制方法,分为静态和动态两种类型。静态PAT通过预先设定的固定限值(每6-8批次更新)筛选异常芯片,计算采用稳健平均值和四分位间距。动态PAT则根据实时数据调整限值,能更精确识别异常而不误判合格芯片。两种方法均采用"均值±6倍标准差"的计算公式,但动态PAT具有更好的适应性和准确性。该方法通过统计分析提高了芯片产品的质量和可靠性。

歌颂苦难的行为是无耻的; 1190

undefined reference to `luaL_newstate‘ 解决方法

写Lua代码出现 undefined reference to `luaL_newstate' 1、安装Lua后,将.lib、.h、.dll放入相应的文件夹 2、开的cpp文件,用extern "C" extern "C" { #include "lua.hpp" #include "lualib.h" #include "lauxlib.h" } 3、配置链接静态库 这里以codeblocks为例子 Add lua5.1.lib即可 ...

ccsu_deer 2532

真随机数与伪随机数

前面我们学习了LFSR,这个玩意落地到具体的应用是什么呢?没错是寄存器,这里在网络找到了几个回答,这里做个记录,下面一起来学习一下吧。

叫好与叫座虽然不是对立面,但想在同一个作品中达到双重效果很难。 1062

Windows 11 WSL2环境下OpenClaw部署的兼容性问题分析与解决方案研究

本文研究了OpenClaw在Windows 11 WSL2环境下的部署方案。WSL2通过无缝集成Linux与Windows系统,为OpenClaw提供了良好的运行环境,支持GPU加速和跨平台开发。文章详细分析了硬件配置要求(推荐8核CPU/16GB内存/NVMe SSD)、系统选择(Windows 11 Pro+Ubuntu 22.04)以及部署步骤,包括WSL2启用、Linux发行版安装、Python/Node.js/Redis等依赖配置。通过优化.wslconfig文件参数(如内存分

博客 2279

lua手工编译遇到的问题

第一步是 make 第二步   make linux 这里出错了,提示如下 luaconf.h:275:31: error: readline/readline.h: No such file or directory luaconf.h:276:30: error: readline/history.h: No such file or directory lua.c: In func

MyDriverC 1026

【AVRCP】规范精讲[19]: 媒体属性全解析,让你的蓝牙设备显示完整歌曲信息

AVRCP协议中的媒体属性是蓝牙音频设备传输歌曲元数据的关键,包含标题、艺术家、专辑等32位ID标识的键值对信息。规范要求字符串属性必须使用UTF-8编码,但乱码问题频发(如中文显示异常),主因是设备未遵循编码标准或使用GBK等非规范格式。常见问题包括信息不全(仅显示标题)、封面缺失(因带宽限制或格式不支持)及更新延迟(通知机制未启用)。解决方案包括强制UTF-8编码、优化封面大小(如300x300像素JPEG)、主动请求缺失属性。Android示例代码展示了通过广播接收器解析媒体属性的方法。

byte轻骑兵的技术小窝 1万+

lua编译问题

lua编译问题 原生Lua编译时未经过C++的Name Mangling,所以在C++工程中需要用extern "C"关键字来包含以下头文件: extern "C" {#include "Lua.h"#include "LuaLib.h"#include "LauxLib.h"} ...

weixin_30487317的博客 83

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

修正lua_path导致luac编译失败的问题

前一篇文章《在Mac OS上设置Quick-x和Cocos2d-x的Vim开发环境》中介绍的.bash_profile 的 LUA_PATH 配置设计不好,会冲掉 lua 的 packange.path ,本文作者针对这一问题进行了修正(本文已在CocosChina讨论区发布,欢迎加入讨论)。 遇到的问题 在执行 Quick-x 的打包 framework 的脚本 bin/make_f

linking530的专栏 2623

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

lua编译安装问题

[b]#lua安装包下载[/b] wget https://github.com/lua/lua/releases/download/5.1.5/lua-5.1.5.tar.gz [b]#解压[/b] tar -zxvf lua-5.1.5.tar.gz [b]#进入目录[/b] cd lua-5.1.5 [b]#make[/b] make linux && make install...

bitcarter的博客 278

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

aarch64环境下编译国标GB28181协议国标GB28181平台EasyGBS视频平台于Lua编译内无法执行是什么问题?

针对在aarch64环境下编译产品,需要很多依赖,我们曾经在aarch64下编译过EasyRTSPLive,碰到了数据库重复定义的问题。在aarch64环境下,我们近期也尝试编译了EasyGBS,通过Lua编译时,我们也遇到了部分问题。下面跟大家分享两个我们遇到的问题。 EasyGBS播放界面 问题1:readline/readline.h:没有那个文件或目录 编译系统命令里面出现:luaconf.h:275:31: fatal error: readline/readline.h: 没有那个文.

EasyGBS的博客 496

sublime Text 2编译lua遇到的问题

之前自已在sublime Text 配好lua编译系统后一直编译不出结果,原来这样还有一个问题,就是对于当前文件的文件名和文件路径都不能有中文,否则无法编译。 详情:http://rangercyh.blog.51cto.com/1444712/1113619

Jayson520的专栏 731

C语言调用Lua编译问题总结

1、首先安装lua linux系统 make linux make install 2、编译 gcc -lm -g -o test test.c /usr/local/lib/liblua.a -ldl 如果少-ldl,那么编译就会报: gcc -lm -g -o test test.c /usr/local/lib/liblua.a /usr/local...

shjhuang的专栏 1000

VC++编译lua库 无法解析lua符号问题

extern "C" { #include #include }

大师的资源 1万+

Lua501版本编译tolua5.2.4版本的问题解决记录

Lua501版本编译tolua5.2.4版本的问题解决记录 mac系统自带的lua501,位于/usr/local/include和/usr/local/lib下。 tolua5.2.4是在官网上下载的,其中需要修改以下几个地方: 打开/usr/local/include/lua.h,增加一行: 42 /* thread status; 0 is OK */ 4

boshuzhang的专栏 470

编译lua5.3扩展.so文件时遇到的一些问题总结

最近尝试在linux下写一些lua的扩展函数,即.so文件,遇到的一些问题总结一下 1.如果编译.cpp结尾的C++文件时,在那个函数函数前一定要加extern "C" 如果遇到编译时说类似如下文字的: /usr/bin/ld: /usr/local/lib/liblua.a(lapi.o): relocation R_X86_64_32 against `luaO_nilobject_' can not be used when making a shared object; recompile with

大头狗的专栏 5366

Lua反编译工具unluac实战指南:从问题诊断到高级应用

### 1.1 字节码解析失败问题排查 **现象描述**:执行反编译命令后出现"Invalid bytecode format"错误,程序终止运行。 **原因分析**:目标文件可能不是标准Lua字节码格式,或文件头部信息被篡改。 **解决流程**: 1. 验证文件完整性: ```bash $ file target.lua target.lua: Lua bytecode, version 5.

gitblog_00453的博客 449

C/C++语言调用lua函数和编译问题

0x00环境和吐槽 环境: lua安装版本:lua 5.2 lua安装系统:ubuntu 16.04 吐槽: 网上找到代码开始进行测试C/C++ linux环境下调用lua脚本,各种错。网上给出的也是粘贴复制,没有对自己的问题进行剖析。神烦!!!! 0x01开始进行排错 1.1 lua API版本不兼容 reacher@ubuntu:~/luafunc$ g++ -o ad

破瓜棚 781

编译lua-cjson成功但使用时找不到cjson的问题解决

error loading module 'cjson' from file '.\cjson.dll': 找不到指定的程序

u012042615的专栏 1806

linux下编译lua程序 链接问题

  今天在linux下编译调用lua的c++程序,链接lualib,出现找不到符号引用。 说明库没有正确连接,但是库已经找到。想了一下,是c++掉用c库的问题。将所包含的 头文件用extern “C”{}包含,即可   c库下函数的符号和C++函数符号不同,直接链接会产生问题。 转载于:https://www.cnblogs.com/SillyFlame/p/5138324.html...

weixin_30407613的博客 150
上一篇: 简历一更新,结果招来很多猎头的电话。
下一篇: 最近一段时间打算主攻lua
wangbin579
博客等级 码龄22年 426粉丝 162原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值