소스에서 Linux에서 cmake-gui를 빌드하는 방법은 무엇입니까?


답변:


6

두 가지 옵션이 있습니다.

  • 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을 압축 해제하십시오.

./bootstrap --qt-gui
make
make install

QT 개발 자료가 설치되어 있다고 가정합니다. 일반적인 명령 행 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가 필요하지만 자동으로 찾을 수는 없습니다. 우리가해야 할 일은 Qt CMake 스크립트의 위치를 ​​보여주는 것입니다.

1. Qt 설치 (아직없는 경우)

  • Qt 웹 사이트 에서 설치 프로그램을 다운로드하십시오 . 필자의 경우 최신 버전 5.12 (작성 당시 5.12.7)를 선택하고 모든 기본 설정으로 설치했습니다.

  • 이 방법으로 설치 프로그램을 다운로드하려면 Qt로 계정을 만들어야합니다. 이 계정은 오픈 소스 사용자에게는 무료입니다 (이 용도로 cmake를 빌드하는 데 사용하고 있다면 다른 용도로 Qt를 사용하려는 경우이 버전을 사용할 수 있는지 확인해야합니다).

  • 홈 디렉토리의 Qt 폴더에 Qt를 설치했습니다.

  • 이 설치 과정은 다소 시간이 걸립니다.

  • Qt는 apt를 통해 사용할 수 있다고 생각하지만 다른 목적으로 전체 다운로드가 필요했기 때문에 어쨌든 여기에있었습니다.

git 저장소 에서 cmake 소스 를 다른 곳 (예 : 홈 디렉토리)으로 복제합니다 .

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

빌드 디렉토리 만들기

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

빌드 된 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 /에 있는지 확인해야합니다.

나는 다음을 수행해야했다.

설치된 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-guiUI를 시작하려면 입력

cmake-gui의 스크린 샷

멋있는!

노트

  • 우분투 메이트 18.04.1 x86_64에서 테스트
  • Cmake 버전을 설치하려고합니다. 이 커밋 에는 특별한 의미가 없으며 최신 버전을 복제했습니다.

  • 이 방법을 사용하려면이 전체 프로세스 중에 apt 버전의 cmake를 사용하여 최신 버전의 cmake를 구성해야합니다. 그래도 문제가 해결되지 않으면 의견에 알려주십시오.

  • 필자의 경우 (OP와 같은) 소스에서 최신 버전의 cmake를 이미 설치 한 후 돌아가서 cmake-gui를 빌드하려고합니다.
  • 따라서 (IMO는 거의 없습니다) 가능성으로 cmake-gui를 빌드하는 스크립트 부분에 cmake를 빌드하려면 최신 버전의 cmake가 필요하지만 나머지 단계는 apt 버전으로 확인하면 단계를 정확하게 복제 할 수 있습니다 여기에서는 apt 버전으로 cmake를 빌드 한 다음 최신 빌드 버전의 cmake로 재구성 한 후 다시 빌드 할 수 있습니다.

cmake 언어 힌트 는 없으며 C 강조 표시를 사용했습니다. 나는 아무것도 아닌 것보다 낫다고 생각합니다.
jrh
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.