Linux 安装可执行文件所需的软件包

标签 linux ubuntu grep executable package

我正在尝试运行可执行文件 FiniteField,如下所示,但似乎我需要一些缺少的包,因此我尝试使用 objdump 命令查看缺少的内容。

看起来该命令将列出所需的包,无论我是否已经拥有它们,这可能会开始变得乏味,如您所见,例如它说我需要 libQtGui.so.4。我尝试使用多个名称来安装它,然后,如果正确的话,我意识到我已经拥有它了。

因此,我需要的名称与我在“sudo apt-get install ___”短语中输入的名称不完全匹配。

我怎样才能安装我需要的一切,以便我可以成功运行我的可执行文件?

./FiniteField

bash: ./FiniteField: No such file or directory

objdump -x 有限域 |需要 grep

  NEEDED               libQtGui.so.4
  NEEDED               libQtCore.so.4
  NEEDED               libpthread.so.0
  NEEDED               libstdc++.so.6
  NEEDED               libm.so.6
  NEEDED               libgcc_s.so.1
  NEEDED               libc.so.6

sudo apt-get install libQtGui.so.4

E: Unable to locate package libQtGui.so.4
E: Couldn't find any package by regex 'libQtGui.so.4'

sudo apt-get install libqtgui

E: Unable to locate package libqtgui

sudo apt-get install libqtgui4

libqtgui4 is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 476 not upgraded.

最佳答案

objdump 显示库名称。

apt-get 需要包名称,而不是库名称(库位于包内)。

您可以使用 rpmfind.net 查找包含所需库的包的名称,如下所示:

http://rpmfind.net/linux/rpm2html/search.php?query=libQtGui.so.4

在本例中,您正在寻找软件包qt-x11(如果 apt-get 无法仅通过名称自行确定版本,则最终会找到适合您系统的版本号)。

关于Linux 安装可执行文件所需的软件包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30446741/

相关文章:

ubuntu - 我的 ubuntu 服务器上没有 a2ensite

search - 如果 grep 不匹配,则打印输入的搜索字符串

linux - 如何清理masscan输出(-oG)

linux - 条件 grep 的 bash 脚本

c - 如何判断程序崩溃

ruby - 坚持环境变量

linux - 无法将现有的 git 存储库推送到 github

python - 如何在 Python 中运行 bash 脚本,但表现得好像它是从另一个目录运行的?

linux - 命名空间的 docker 问题 - 容器 ID 110090219 无法映射到主机 ID

ubuntu - 如何使用终端在 Ubuntu 19.04 中更改环境变量