如何在 Ubuntu 上安装特定程序?

如何在 Ubuntu 上安装特定程序?

我有一个包含文件的文件夹main.cc main.o Makefile prog prog.pro,但prog.pro.user在安装时遇到了问题。这是某人编写的程序,它不能作为文件公开提供.deb。我使用了以下命令:

  1. make导致:make: Nothing to be done for 'first'.
  2. install导致:install: missing file operand.
  3. prog导致:prog: command not found
  4. ./prog导致:QFSFileEngine::open: No file name specified The device must be readable. Error loading the info.xml file
  5. sudo make && make install导致:make: *** No rule to make target '../../../../anaconda/mkspecs/linux-g++/qmake.conf, needed by 'Makefile'. Stop.
  6. ./configure导致:bash: ./configure: No such file or directory

我还右键单击了 prog,然后单击了运行。但什么也没有发生。

你能指导我如何解决这个问题吗?

答案1

在 Ubuntu 上编译软件需要一些额外的步骤,因为大多数软件包都是预编译的二进制文件,可以在软件商店或您版本的存储库中找到。遵循以下步骤作为指导将确保您可以轻松编译软件:

  1. 让我们为软件创建一个存放位置。这样可以确保在出现问题时不会影响我们的运行系统。下面链接的指南使用/usr/local/src,但我更喜欢/optsudo mkdir /opt/ProgramNameProgramName用编译程序的实际名称替换。
  2. 将您要编译的所有项目移入/opt/ProgramName,或者更好的是将 Tarball 移动并提取到/opt/ProgramNamemv -v tarballname.tar.gz /opt/ProgramName && cd /opt/ProgramName/ && tar -xzvf tarballname.tar.gz
  3. 提取 tarball 的新副本后,我们需要一些工具,即编译器、make 和安装程序:sudo apt-get install build-essential checkinstall
  4. ./configure --prefix=/opt/ProgramName在根目录中运行ProgramName。该--prefix参数非常重要,因为它告诉 make 不要将其安装在系统的默认目录中。这还告诉您该软件包不受 管理apt
  5. 现在,如果 configure 脚本崩溃,我们需要安装缺失的依赖项。我们使用 中提供的工具来执行此操作apt。每个 configure 脚本都会生成一个以 结尾的文件,.pc或者.log当它出错时:apt-file search nameoflogfile.pc将收集缺失的依赖项。
  6. 使用步骤 5 的输出安装缺少的依赖apt-get install missing-package-namesmissing-package-names
  7. 重复步骤4。
  8. 现在发行make && make install

您缺少步骤 4。

还请注意,从您的问题可以看出,Prog.pro 是一个 QT 项目文件,它需要qmake。Qmake 需要 QT 库,默认情况下未安装 QT 库。添加它们将导致额外的菜单项等,因为 Unity 由 GTK 库支持。QT 最显著的用途是K 桌面环境,又名 KDE,这意味着编写此应用程序的人希望它在 KDE 中使用,并且不是 GNOME 或 Unity

更新

您可能需要运行autogen脚本。如果您没有看到该脚本,则需要重新下载/重新获取该程序。程序是使用Autotools 工具链 - 教程。 也可以看看:维基百科条目


也可以看看:编译EasyHowTo

相关内容