为 x86 系统编译 Readline(静态模式)

Posted

技术标签:

【中文标题】为 x86 系统编译 Readline(静态模式)【英文标题】:Compile Readline for x86 system (static mode) 【发布时间】:2019-06-25 07:09:50 【问题描述】:

我正在使用 Debian 9 x86 为 x86 架构在 QT Creator 中编写程序。该程序将使用 GNU Readline 库 [8.0]。另外,我的程序必须是静态构建的(QT 已经是静态构建的)。为此,我从here. 下载了 Readline 然后进行静态程序集的配置:

./configure —prefix=/home/out/readlinelibs/ —enable-static —with-curses

然后我进行了构造:

make

和安装库

make install

在 QT 的 pro 文件中,我添加了库的路径:

LIBS += -L/home/out/readlinelibs/lib -static -lreadline -ltinfo

在编译程序时,我在 QT 中收到以下错误:

error: cannot find -ltinfo

如何在静态模式下构建 readline?谢谢。

P.S.:在 Debian x64 中,我还构建了 readline,一切正常。

【问题讨论】:

tinfo 也必须作为静态库提供 【参考方案1】:

正如 mbieren 建议的那样,缺少 tinfo 库。我在 64 位系统上进行了如下安装:

    增加了安装 32 位软件包的功能:

    sudo dpkg --add-architecture i386

    我扫描了包裹,发现我需要。您可以这样进行扫描:

    sudo apt-cache search tinfo

    我终于安装了我需要的:

    sudo apt-get install lib32tinfo5 lib32tinfo-dev

现在我的32位架构程序编译成功!

【讨论】:

以上是关于为 x86 系统编译 Readline(静态模式)的主要内容,如果未能解决你的问题,请参考以下文章

VS不同编译器,x86,x64,动态库,静态库交叉引用问题

VS不同编译器,x86,x64,动态库,静态库交叉引用问题

FFmpeg for XP(x86) 2016-03-23 static 静态编译程序

为 x86 架构开发操作系统 [关闭]

程序的载入和运行——《x86汇编语言:从实模式到保护模式》读书笔记25

静态成员变量不占用类的内存空间