Làm cách nào để xây dựng cmake-gui trên Linux từ nguồn?


Câu trả lời:


6

Hai lựa chọn ở đây:

  • cmake-guiđược đóng gói dưới dạng cmake-qt-gui . Cài đặt nó với:

    sudo apt-get install cmake-qt-gui
    
  • Nếu bạn thực sự cần xây dựng nó từ nguồn, hãy làm như sau:

    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
Không, các gói chứa cmake đã lỗi thời, không hỗ trợ tăng 1.66 chẳng hạn ...
stiv

5
Cài đặt cmake-qt-guivới apt sau khi đã biên dịch cmaketừ các nguồn sẽ dẫn đến loại lỗi sau: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

Không có gì khác phụ thuộc vào cmake (có lẽ) vì vậy đó là một nút lá. Gỡ cài đặt deb. Lấy nguồn mới nhất từ https://cmake.org/ và giải nén tarball ở đâu đó, cd vào đó.

./bootstrap --qt-gui
make
make install

Giả sử bạn đã cài đặt công cụ dev dev. Bạn kết thúc với cả cmake dòng lệnh thông thường và cmake-qui. Bắt đầu chúng từ dòng lệnh bằng cách nhập cmake hoặc cmake-gui, tôi không biết về việc thêm vào menu.


0

Quá trình

  • Trong quá trình cụ thể này, tôi quyết định cấu hình phiên bản cmake mới nhất, với phiên bản apt của cmake (xin lỗi nếu điều này gây nhầm lẫn).

  • cmake-gui được biên dịch với cùng một kho lưu trữ như công cụ dòng lệnh cmake, nhưng cấu hình xây dựng mặc định cho cmake không được thiết lập để xây dựng cmake-gui (không phải giao diện nguyền rủa hoặc giao diện Qt).

  • Để tạo cmake bằng cmake-gui, cần phải đặt một số biến trong tập lệnh xây dựng cmake. Thông thường bạn có thể thực hiện việc này thông qua giao diện người dùng, nhưng cũng có thể đặt các biến này bằng cách chỉnh sửa thủ công CMakeCache.txt trong thư mục bản dựng, đây là điều tôi sẽ chỉ cho bạn cách làm trong câu trả lời này.

  • CMake yêu cầu Qt, nhưng nó không thể tự động tìm thấy, một trong những điều chúng ta cần làm là hiển thị các tập lệnh Qt CMake.

1. Cài đặt Qt (nếu bạn chưa có)

  • Tải xuống trình cài đặt từ trang web của Qt . Trong trường hợp của tôi, tôi đã chọn phiên bản 5.12 mới nhất (tại thời điểm viết, 5.12.7) và tôi đã cài đặt nó với tất cả các cài đặt mặc định.

  • Bạn sẽ cần tạo một tài khoản với Qt để tải xuống trình cài đặt bằng phương pháp này; tài khoản này miễn phí cho người dùng nguồn mở (mà bạn là nếu bạn đang sử dụng điều này để xây dựng cmake cho mục đích sử dụng của riêng bạn; nếu bạn có kế hoạch sử dụng Qt cho bất kỳ điều gì khác, bạn nên xác minh nếu bạn có thể sử dụng phiên bản này).

  • Tôi đã cài đặt Qt vào một thư mục có tên Qt trong thư mục nhà của tôi.

  • Quá trình cài đặt này sẽ mất một lúc.

  • Tôi nghĩ rằng Qt có thể có sẵn thông qua apt, nhưng với mục đích của tôi, tôi cần tải xuống đầy đủ cho một dự án khác, vì vậy dù sao tôi cũng đã có nó ở đây.

2. git sao chép các nguồn cmake từ kho git của chúng vào một nơi nào đó (ví dụ: thư mục chính của bạn).

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

3. Tạo một thư mục xây dựng

cd cmake
mkdir build
cd build
cmake ..

Điều đó sẽ, trong số những thứ khác, đặt một tệp có tên CMakeCache.txt trong thư mục bản dựng của bạn.

4. Chỉnh sửa CMakeCache.txt để định cấu hình ui

  • Mở tệp này trong trình soạn thảo văn bản của bạn và chỉnh sửa các dòng sau để bật qt ui (Tôi đã tìm thấy các tệp này bằng cách tìm kiếm qt).

  • Lưu ý rằng bạn cần thay thế PATH_TO_QT bằng thư mục qt của bạn, trong trường hợp của tôi, PATH_TO_QT chỉ là / home / myname / Qt.

  • Tôi sẽ khuyên không nên sử dụng đường dẫn tương đối hoặc ~.
//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. Chạy lại cmake .. trong thư mục xây dựng

cmake ..

6. Biên dịch cmake (trong thư mục xây dựng)

Trong đó N là số lõi bạn muốn biên dịch, trong trường hợp của tôi, tôi đã gõ make -j10.

make -jN

7. Cài đặt cmake đã xây dựng

  • Bạn có thể muốn gỡ bỏ phiên bản apt của cmake trước khi thực hiện việc này, nhưng có vẻ như (vì một số lý do), phần cài đặt của cmake yêu cầu cmake phải được cài đặt để ... cài đặt cmake.
sudo make install

8. Hoạt động cuối cùng

  • sudo make install không thay thế phiên bản cmake được lưu trữ trong / usr / bin.

  • Có thể có một cách sạch hơn để thực hiện bước này.

  • Sử dụng cmake --versionđể xác minh nếu bạn cần làm điều này, nếu nó cung cấp phiên bản đi kèm với apt (đối với tôi tại thời điểm viết, 3.10.2), bạn sẽ cần phải làm điều này.

  • Bạn cũng nên xác minh rằng phiên bản cmake của bạn nằm trong / usr / local / bin /

Tôi cần phải làm như sau:

Đổi tên nhị phân apt được cài đặt apt

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

Liên kết phiên bản dựng sẵn của cmake vào / usr / bin /

sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
  • Tôi không mong muốn liên kết phiên bản mới của cmake vào / usr / bin /, vì / usr / local / bin phải ở dạng PATH; vì một số lý do, nó sẽ ngoan cố chỉ tìm cmake trong / usr / bin và báo lỗi cho tôi rằng / usr / bin / cmake không được tìm thấy mặc dù phiên bản mới nhất của cmake có sẵn trong / usr / local / bin.

  • Tôi đoán có thể việc thiết lập lại bash hoặc khởi động lại có thể đã khắc phục nhu cầu liên kết, nhưng tôi không chắc chắn.

Nhập cmake-guiđể bắt đầu giao diện người dùng

Ảnh chụp màn hình của cmake-gui

Mát mẻ!

Ghi chú

  • Đã thử nghiệm trên Ubuntu Mate 18.04.1 x86_64
  • Phiên bản Cmake tôi đang cố gắng cài đặt: cam kết này , không có ý nghĩa đặc biệt nào với điều này, tôi chỉ nhân bản mới nhất.

  • Theo ý kiến ​​của tôi, phương pháp này sẽ hoạt động nếu bạn đang sử dụng phiên bản apt của cmake để định cấu hình phiên bản cmake mới nhất trong toàn bộ quá trình này. Nếu điều này không hiệu quả, hãy cho tôi biết trong phần bình luận.

  • Trong trường hợp của tôi (như OP), tôi đang tìm cách quay lại và xây dựng cmake-gui sau khi đã cài đặt xây dựng phiên bản cmake mới nhất từ ​​nguồn.
  • Do đó, trong trường hợp (không có khả năng IMO), phần kịch bản xây dựng cmake-gui cần phiên bản cmake mới nhất để tạo cmake, nhưng phần còn lại của bản dựng là OK với phiên bản apt, để sao chép chính xác các bước tôi đã làm Tại đây, bạn có thể xây dựng cmake với phiên bản apt, sau đó định cấu hình lại với phiên bản được xây dựng mới nhất của cmake và xây dựng lại.

Không có gợi ý ngôn ngữ cmake , tôi đã sử dụng tô sáng C. Tôi đoán nó tốt hơn không có gì.
jrh
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.