Sourceforgeからtarguiをダウンロードしました。targuiは、.configureとインストールに関する指示のないtar.bz2アーカイブに入っています。ただし、アーカイブにはMakefileが含まれています。 Makefile(およびsourcefourgeの小さなドキュメント)を見ると、依存関係はqt4だけであるように見えます。qt4は、Makefileが必要とするように、システムの/ usr/share/qt4にインストールされます。
このパッケージをインストールするために何をするべきですか?
Sourceforgeページへのリンク: https://sourceforge.net/projects/targui/
更新
Makefileには次のコメントがあります。
#ビルド用のメイクファイル:targui
#
qmake(2.01a)(Qt 4.3.2)によって生成:Fr Dez 28 12:32:13 2007
プロジェクト:targui.pro
テンプレート:アプリ
コマンド:/ 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はまだセグメンテーション違反です
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)
それからあなたは決定する必要があります-あなたは10年後の2008年からアプリケーションをコンパイルすることによって何を達成したいのですか。
単にグラフィカルなアーカイブツールが必要な場合-File Roller(GNOME)、Engrampa(MATE)などを使用できます。
N0rbertの答えのようにtargui
をビルドしてから、バイナリを実行するために以下をお読みください。
起動時のtargui
segfaultは、MainWindow::TabChanged
からのmainwindow.cpp
が無効なポインターを逆参照しているためで、ここにチェックを追加するとプログラムを起動できます。たとえば、newAct->setEnabled(i > 0);
をif (newAct) newAct->setEnabled(i > 0);
に変更し、他の3つのポインターについても同じことを行います。
mainwindow.cpp
には、/usr/bin/tar
のようなハードコードされた文字列が含まれていますが、既存のバイナリを指していない場合があります。たとえば、Ubuntuのtar
は/bin
にあるため、それに応じて修正します。
Targuiがセグメンテーション違反にならないようにするには、dsstorefile1の回答によるmainwindow.cppへの変更を行う必要がありますの前にで、ノルベルトの答え。