安装 tar.bz2,没有 .configure,但包含 Makefile

安装 tar.bz2,没有 .configure,但包含 Makefile

我从 sourceforge 下载了 targui,它以 tar.bz2 存档的形式提供,没有 .configure,也没有安装说明。但是,存档包含 Makefile。查看 Makefile(以及 sourcefourge 上的少量文档),似乎唯一的依赖项是 qt4,它安装在我的系统上的 /usr/share/qt4 中,正如 Makefile 似乎需要的那样。

为了安装这个包我应该做什么?

链接至 sourceforge 页面: https://sourceforge.net/projects/targui/

更新

Makefile 有这样的注释:

#

用于构建的 Makefile:targui
由 qmake (2.01a) (Qt 4.3.2) 于 2007 年 12 月 28 日星期五 12:32:13 生成
项目:targui.pro
模板:app
命令:/usr/bin/qmake -unix -o Makefile targui.pro

#

因此,在包含 targui 文件夹的目录中,我尝试:

/usr/bin/qmake -unix -o Makefile targui.pro

但终端说:

qmake:无法执行‘/usr/lib/x86_64-linux-gnu/qt4/bin/qmake’:没有此文件或目录

更新2

根据 NOorbert 指令构建。它会出现段错误

已修复 mainwindow.cpp,现在看起来像:

void MainWindow::TabChanged(int i) {

if (newAct) newAct->setEnabled(i > 0);
if (openAct) openAct->setEnabled(i > 0);
if (saveAct) saveAct->setEnabled(i > 0);
if (saveAsAct) saveAsAct->setEnabled(i > 0);

}

并将同一文件中的 tar 引用更改为 /bin

.targui 仍然出现段错误

答案1

按照 N0rbert 的答案进行构建targui,然后阅读下文以运行二进制文件。

  • 启动时出现段错误是由于取消引用无效指针targui造成的,在此处添加检查可使程序启动。例如,更改为,并对其他三个指针执行相同操作。MainWindow::TabChangedmainwindow.cppnewAct->setEnabled(i > 0);if (newAct) newAct->setEnabled(i > 0);

  • mainwindow.cpp包含类似这样的硬编码字符串/usr/bin/tar可能不会指向现存的二进制文件。例如,Ubuntu 的二进制tar文件位于/bin,因此请相应地修复它们。

targui 截图

答案2

您需要安装 Qt4 的 qmake 及其开发包:

sudo apt-get install qt4-qmake libqt4-dev

然后运行make

cd ~/Downloads
tar -xf targui-0.3_beta.tar.bz2
cd targui
make

然后运行应用程序

./targui

但它在我的 Ubuntu 14.04 LTS、Ubuntu 16.04 LTS、Ubuntu 18.04 LTS 上出现段错误:

Segmentation fault (core dumped)

然后你应该决定——十年后,你想通过编译 2008 年的应用程序实现什么。
如果你只是需要图形存档工具——你可以使用 File Roller(在 GNOME 上)、Engrampa(在 MATE 上)等等。

答案3

为了让 targui 不发生段错误,必须根据 dsstorefile1 答案对 mainwindow.cpp 进行更改并且根据 NOrbert 的回答,编译之后则不然。

相关内容