Tôi đã thử tải xuống https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz và xây dựng nó, nhưng không có cmake-gui trong thư mục con ./bin sau khi xây dựng. Là cmake-gui được cung cấp trong một kho lưu trữ nguồn khác?
Tôi đã thử tải xuống https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz và xây dựng nó, nhưng không có cmake-gui trong thư mục con ./bin sau khi xây dựng. Là cmake-gui được cung cấp trong một kho lưu trữ nguồn khác?
Câu trả lời:
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
cmake-qt-gui
với apt sau khi đã biên dịch cmake
từ 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.
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.
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.
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.
git clone https://gitlab.kitware.com/cmake/cmake.git
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.
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.
//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
cmake ..
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
sudo make install
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:
sudo mv /usr/bin/cmake /usr/bin/cmake_old
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.
cmake-gui
để bắt đầu giao diện người dùngMát mẻ!
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.