Linuxでソースからcmake-guiをビルドする方法は?


回答:


6

ここに2つのオプション:

  • cmake-guicmake-qt-guiとしてパッケージ化されています。それをインストールします:

    sudo apt-get install cmake-qt-gui
    
  • ソースからビルドする必要がある場合は、次のようにします。

    sudo apt-get update
    sudo apt-get build-dep cmake-qt-gui
    wget https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz
    
    tar -xzf cmake-3.11.0.tar.gz
    cd cmake-3.11.0/
    ./configure --qt-gui
    make -j5
    bin/cmake-gui
    

2
いいえ、パッケージには古いcmakeが含まれています。たとえば、ブースト1.66はサポートされていません...
stiv

5
インストールcmake-qt-guiコンパイルされた後にaptでcmake源からすると、エラー次のようなにつながる:Some packages could not be installed. This may mean that you have requested an impossible situation or if you are using the unstable distribution that some required packages have not yet been created or been moved out of Incoming. The following information may help to resolve the situation: The following packages have unmet dependencies: cmake-qt-gui : Depends: cmake (= 3.5.1-1ubuntu3) E: Unable to correct problems, you have held broken packages.
SK

2

(おそらく)cmakeに依存するものは他にないので、これは葉ノードです。debをアンインストールします。https://cmake.org/から最新のソースを取得し、どこかにtarballを展開して、そこにcdします。

./bootstrap --qt-gui
make
make install

QT devスタッフがインストールされていると仮定します。通常のコマンドラインcmakeとcmake-quiの両方が実行されます。コマンドラインからcmakeまたはcmake-guiと入力して起動します。メニューに追加する方法はわかりません。


0

処理する

  • この特定のプロセスでは、cmakeの適切なバージョンを使用して、最新バージョンのcmakeを構成することにしました(混乱を招く場合は申し訳ありません)。

  • cmake-guiはcmakeコマンドラインツールと同じリポジトリでコンパイルされますが、cmakeのデフォルトのビルド構成はcmake-guiをビルドするように設定されていません(cursesインターフェイスもQtインターフェイスもありません)。

  • cmake-guiでcmakeをビルドするには、cmakeビルドスクリプトでいくつかの変数を設定する必要があります。通常はUIを使用してこれを行うことができますが、ビルドディレクトリでCMakeCache.txtを手動で編集してこれらの変数を設定することもできます。これは、この回答で行う方法を示します。

  • CMakeにはQtが必要ですが、自動的に見つけることができません。QtCMakeスクリプトがどこにあるかを示す必要があります。

1. Qtをインストールします(まだ持っていない場合)

  • QtのWebサイトからインストーラーをダウンロードします。私の場合、最新バージョンの5.12(執筆時点では5.12.7)を選択し、すべてデフォルト設定でインストールしました。

  • この方法でインストーラーをダウンロードするには、Qtでアカウントを作成する必要があります。オープンソースユーザーのアカウントは無料です(これを使用して自分だけのcmakeをビルドする場合は、他の目的でQtを使用する場合は、このバージョンを使用できるかどうかを確認する必要があります)。

  • QtをホームディレクトリのQtという名前のフォルダーにインストールしました。

  • このインストールプロセスにはしばらく時間がかかります。

  • Qtはaptから入手できると思いますが、私の目的のために、別のプロジェクトの完全なダウンロードが必要だったので、とにかくここでそれを手に入れました。

2. cmakeソースをgitリポジトリからどこかに(たとえば、ホームディレクトリ)にgitクローンします。

git clone https://gitlab.kitware.com/cmake/cmake.git

3.ビルドディレクトリを作成する

cd cmake
mkdir build
cd build
cmake ..

特に、ビルドフォルダーにCMakeCache.txtという名前のファイルを配置します。

4. CMakeCache.txtを編集してUIを構成します

  • このファイルをテキストエディターで開き、次の行を編集してqt uiを有効にします(これらはqtを検索して見つかりました)。

  • PATH_TO_QTをqtディレクトリがある場所に置き換える必要があることに注意してください。私の場合、PATH_TO_QTは/ home / myname / Qtでした。

  • 相対パスまたは〜を使用しないことをお勧めします。
//Build Qt dialog for CMake
BUILD_QtDialog:BOOL=ON

QT_QMAKE_EXECUTABLE:FILEPATH=PATH_TO_QT/5.12.7/gcc_64/bin/qmake

//The directory containing a CMake configuration file for Qt5Core.
Qt5Core_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Core

//The directory containing a CMake configuration file for Qt5Widgets.
Qt5Widgets_DIR:PATH=PATH_TO_QT/5.12.7/gcc_64/lib/cmake/Qt5Widgets

5.ビルドディレクトリでcmake ..を再実行します。

cmake ..

6. cmakeをコンパイルします(ビルドディレクトリ内)。

ここで、Nはコンパイルするコアの数で、私の場合はと入力しましたmake -j10

make -jN

7.ビルドされたcmakeをインストールします

  • これを行う前に、cmakeのaptバージョンを削除したくなるかもしれませんが、(何らかの理由で)cmakeのインストール部分でcmakeをインストールする必要があるようです... cmakeをインストールします。
sudo make install

8.最終的な操作

  • sudo make install 残念ながら/ usr / binに保存されているcmakeのバージョンを置き換えません。

  • このステップを実行するためのよりクリーンな方法があるかもしれません。

  • cmake --versionこれを行う必要があるかどうかを確認するために使用します。aptに付属するバージョン(執筆時点では3.10.2)が表示される場合は、これを行う必要があります。

  • cmakeのバージョンが/ usr / local / bin /にあることも確認する必要があります

私は次のことをする必要がありました:

aptにインストールされたcmakeバイナリの名前を変更します

sudo mv /usr/bin/cmake /usr/bin/cmake_old

ビルドしたcmakeのバージョンを/ usr / bin /にリンクします

sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
  • / usr / local / binはPATHにあるはずなので、cmakeの新しいバージョンを/ usr / bin /にリンクする必要があるとは思っていませんでした。どういうわけか、頑固に/ usr / binでcmakeを探すだけで、/ usr / local / binで最新バージョンのcmakeが利用できても、/ usr / bin / cmakeが見つからなかったというエラーが表示されます。

  • bashのリセットまたは再起動によってリンクの必要性が修正された可能性はあると思いますが、私にはわかりません。

入力cmake-guiしてUIを開始します

cmake-guiのスクリーンショット

涼しい!

ノート

  • Ubuntu Mate 18.04.1 x86_64でテスト済み
  • インストールしようとしているCmakeのバージョン:このコミット、特に意味はありません。最新のクローンを作成しました。

  • cmakeのaptバージョンを使用して、このプロセス全体でcmakeの最新バージョンを構成している場合、この方法が機能するはずだと私は考えています。これが機能しない場合は、コメントでお知らせください。

  • 私の場合(OPのように)、ソースから最新バージョンのcmakeをビルドしてインストールした後、戻ってcmake-guiをビルドしようとしています。
  • したがって、cmake-guiをビルドするスクリプトの部分がcmakeをビルドするためにcmakeの最新バージョンを必要とする(IMOの可能性は低い)可能性がありますが、残りのビルドは、aptバージョンで問題なく、私が行った手順を正確に再現しますここでは、aptバージョンでcmakeをビルドしてから、ビルドされた最新バージョンのcmakeで再構成して、再度ビルドできます。

cmake 言語のヒントはありません。Cハイライトを使用しました。何もないよりはましだと思います。
jrh
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.