undefined reference to `tputs‘

news2024/10/7 4:28:37

        昨天在Debian11 上编译 bluez 的时候,看这里,出现了如下这个错误,一般这种未定义的错误提示都是没有链接正确的库导致,但是搞了很久都没解决。

奇怪的是之前在 Centos 上编译却没有遇到这个问题,而且在 configure 时也是添加了 -lreadline -lncurses

 生成的 Makefile 里也有有了这个对应的设置

一开始怀疑是不是编译的时候这个选项没加进去,所以我就在错误指示的那一行:make[3]: *** [Makefile:3992: client/bluetoothctl] Error 1

添加了一下打印:

 同时把bluez.mk 里的./configure 那一行注释掉,这样不再重新生成新的Makefile,否则上面这一行就白加了,结果如下,能看到有链接的库目录,以及链接哪些库: 

然后看到Makefile 里它后面还跟了 $(LIB) 这个变量,那也打印了一下这个变量是什么:

这个LIB 是空的,于是我只是想尝试一下直接在这个Makefile 里添加连接库,如下:

 结果那个错误编译过去了,只是还有其他地方也是这样的错误:

 

那说明 configure 里的 LDFLAGS 并不能设置链接哪些库,而应该只是设置路径的,我们应该用 LIBS,所以修改成这样:

最后编译成功,完美解决

 

而且在查看 configure -help 帮助的时候,其实它已经说明了这两个环境变量的用法:

 

思考:其实从在 LDFLAGS 里添加链接库名称,这样看来也不合理,因为链接库应该是放在编译选项的最后,若放到要编译的对象(即.o文件)前,那之后的对象在链接的时候肯定是找不到对应符号的。 但如果在生成 Makefile 的时候,这个变量放到编译选项的最后应该也可以编译成功,之前在 Centos 编译成功难道是这样的,现在也不想去验证了。看来在执行 configure 前还是需要看一下 help 了。

 

 

 

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/679778.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

做Java开发,真的“穷途末路”了吗?浅谈从2018-2023年,这行到底“卷”成了啥样

文章目录 一、火爆的行业1、裁员潮引发的行业惶恐2、国情下的行业现状3、时代的快速发展 二、Java开发“卷”成了啥样1、2013年2、2018年3、2013年4、真的需要这么多知识吗 三、大龄程序员何去何从引用来处 一、火爆的行业 “程序员”这个代名词,似乎总是跟“高薪”…

基于多进程并发-进程通讯之管道(pipe)

一、管道(pipe) 所谓的管道,就是内核⾥⾯的⼀串缓存(Pipe)。一个进程从管道的⼀端写⼊的数据,实际上是缓存在内核中的,另⼀端读取,也就是从内核中读取这段数据。 特性:…

windwos2016 由于没有远程桌面授权服务器可以提供许可证

一、问题: 经常会遇到,server2016、server2012、server2008操作系统,安装远程桌面服务之后没有激活,经过120天到期之后,没办法再使用,重新安装激活远程桌面服务也不能用。 二、具体的报错如下图&#xff…

归并排序详解-附Python代码

排序思路 将输入的列表递归分解成若干个有序的子列表(只含有一个元素);将分解后的有序子列表两两归并成一个新的有序列表;重复步骤2,直到完成排序。 重点:如何定义一个归并函数,可以将两个有序…

Qt-自定义控件

Qt-自定义控件 简单使用 首先创建一个工程 在现有的工程上添加文件,选择Qt设计师界面类 选择Widget 添加两个控件之后,选择水平布局 将刚刚自定义的控件smallWidget放置在原始的控件中 首先在原始工程的ui界面 随便放置一个widget 选择&#xff…

我的内网渗透-代理转发(1)

概念 网关 必须经过 用来进行路由转发的设备,网关的作用是让不同网段之间能够通信 代理 委托访问 无论代理后面挂了几台设备,都认为是从代理进行访问,对外只表现为代理一台。外部认为是与代理进行…

计算机提示xinput1_3.dll丢失,三个详细修复方法

打开《绝地求生》游戏的时候,计算机提示xinput1_3.dll丢失,无法启动运行。重新安装一遍游戏依然无法启动运行。这个是由于xinput1_3.dll文件是属于电脑系统DirectX9.0的一个组件,用于提供输入和输出功能。它包含了各种接口和函数,…

spi控制器和spi设备的加载过程

spi控制器都是挂在platform总线上的,所以要等platform总线上的设备驱动加载spi控制器完成后才能加载spi设备。 1.spi控制器加载 由spi控制器驱动程序调用spi_register_master来完成spi控制器驱动加载 int spi_register_master(struct spi_master *master) { ... s…

【ubuntu20.04上构建qemu启动linux kernel】

参考Ubuntu环境下使用qemu搭建arm64运行环境 - 简书 一、交叉编译工具 sudo apt install gcc-aarch64-linux-gnu aarch64-linux-gnu-gcc -v 二、linux内核编译 git clone https://github.com/torvalds/linux.git cp arch/arm64/configs/virt.config .config make ARCHarm64 m…

并网逆变器杂记1-VO-DCC双环控制

NOTE1: 母线电压恒定的条件是: PV输出功率 ,等于逆变侧消耗功率 假设:PV侧给母线输入10A ,但是逆变侧消耗1A,此时母线Udc会升高 反之PV输入1A,消耗10A,母线Udc会降低。 NOTE2&#…

【IP地址】使用这个免费工具轻松获取地理位置

文章目录 前言一、Ip-API二、使用示例2.1、语言2.2、数据格式 三、简单示例四、更好的服务五、需要注意的点结尾 前言 今天分享一个免费的在线工具来查询IP地址所在的地理位置。可以通过IP地址所属的网络运营商和其他相关信息来确定设备的位置,包括国家、地区、城市…

CentOs中操作用户命令(添加或删除)

1、不添加任何参数,创建 zhangsan 用户 不加参数时,创建用户默认创建一个用户目录以及用户和组同名,且UID和GID相同 useradd zhangsan 用 id和 ll 命令查看一下,是否成功创建用户目录以及用户和用户组 id ll uid1003( zhangsan) gid1003( zhangsan) 组1003( zhangsan) 2…

Obsidian 与 Typora 图片兼容保存路径一致设置

目录 一、问题二、解决方法 Obsidian官网 : https://obsidian.md/ Your thoughts are yours. 你的想法就是你的。 Obsidian stores notes on your device, so you can access them quickly, even offline. No one else can read them, not even us. 黑曜石将笔记存储…

Java——基础语法

文章目录 1. 变量:变量的声明和初始化变量的作用域变量的命名规则常量 2. 运算符:算术运算符关系运算符逻辑运算符位运算符其他运算符 3. 流程控制:分支结构循环结构跳转控制 4. 类与对象:类的概念对象的概念类的成员构造方法和析…

深入理解深度学习——BERT派生模型:T5(Text to Text Transfer Transformer)

分类目录:《深入理解深度学习》总目录 T5的全称为Text to Text Transfer Transformer,是谷歌提出的预训练语言模型领域的通用模型,该模型将所有自然语言问题都转化成文本到文本的形式,并用一个统一的模型解决。为了得到大一统的高…

Tkinter创建列表使用方法

前言 ttk.Treeview 是 Tkinter 模块中的一个组件,它提供了一个可用于显示层次结构数据的树状列表。它具有以下特点和功能: 显示层次结构:ttk.Treeview支持以树状结构显示数据。每个节点可以有子节点,从而形成层次结构。用户可以展…

GPT-2源码实现及GPT-3、GPT-3.5、GPT-4及GPT-5内幕解析(三)

GPT-2源码实现及GPT-3、GPT-3.5、GPT-4及GPT-5内幕解析(三) 5.3 GPT-3 内幕机制可视化解析 GPT-3是一个基于Transformer的语言模型,通过不同的层次提取语言不同层面的特性,构建整个语言的语义信息,它学习的过程跟人类正常学习的过程是类似的,开始的时候是一个无监督预训练…

材料表面与界面 关键概念介绍

目录 1. Conductivity and two general modes of charge transport in solid-state materials (Fig. 1b) 2. What is Bravais lattice, what is basis and what is crystal lattice (Fig. 2). The differences between five possible Bravais lattices in two dimensions (Fi…

【计算机毕设系统项目说明】VB+ACCESS采购管理系统开发(论文+系统+答辩PPT+封面)

大家好,这里是小伙整理的VB项目系列,大家可以用于自己的课设Q或毕设,需要的可自取。 项目包含内容 项目包含: 项目源码 论文 答辩PPT 其他相关 截图: 库存管理软件说明 一.系统设置 1) 锁定&#xff1…

2023考研一战上岸 电子科技大学 860软件工程 经验分享

目录 1. 前言:考研,心态最重要! 2. 初试各科复习经验 (1) 数学一 (2) 英语一 (3) 专业课 (4) 政治 (5) 四门课时间划分 3. 复试流程和备考建议 (1) 复试流程 (2) 备考建议 4. 结语 首先,先简要做一个自我介绍&#xff…