Я спробував завантажити https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz і створити його, але в папці cmake-gui ./bin після збірки немає. Чи постачається cmake-gui в інший джерело-архів?
Я спробував завантажити https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz і створити його, але в папці cmake-gui ./bin після збірки немає. Чи постачається cmake-gui в інший джерело-архів?
Відповіді:
Тут два варіанти:
cmake-gui
упаковується як cmake-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
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.
Нічого іншого не залежить від cmake (ймовірно), тому це листовий вузол. Видаліть деб. Отримайте останнє джерело з https://cmake.org/ і розпакуйте кудись тарбол, вставте його в компакт-диск.
./bootstrap --qt-gui
make
make install
Якщо припустимо, що у вас встановлені QT dev речі. Ви закінчуєте як звичайний командний рядок cmake, так і cmake-qui. Почніть їх з командного рядка, ввівши cmake або cmake-gui, я не знаю про додавання до меню.
У цьому конкретному процесі я вирішив налаштувати останню версію cmake з влучною версією cmake (вибачте, якщо це заплутано).
cmake-gui компілюється з тим же сховищем, що і інструмент командного рядка cmake, але конфігурація збірки за замовчуванням для cmake не налаштована для створення cmake-gui (ні інтерфейс curses, ні інтерфейс Qt).
Щоб створити cmake за допомогою cmake-gui, необхідно встановити деякі змінні в сценарії збірки cmake. Ви можете це зробити за допомогою інтерфейсу користувача, але також можна встановити ці змінні, відредагувавши CMakeCache.txt вручну в каталозі збірки, що я покажу, як це зробити в цій відповіді.
CMake вимагає Qt, але він не може знайти його автоматично, одна з речей, що нам потрібно зробити, це показати, де знаходяться сценарії Qt CMake.
Завантажте інсталятор з веб-сайту Qt . У моєму випадку я вибрав останню версію 5.12 (на момент написання, 5.12.7) і встановив її з усіма налаштуваннями за замовчуванням.
Вам потрібно буде зробити обліковий запис у Qt, щоб завантажити інсталятор за допомогою цього методу; обліковий запис безкоштовний для користувачів з відкритим кодом (що ви використовуєте, якщо ви використовуєте це для того, щоб просто створити cmake для власного використання; якщо ви плануєте використовувати Qt для чого-небудь іншого, ви повинні перевірити, чи можете ви використовувати цю версію).
Я встановив Qt у папку з назвою Qt у своєму домашньому каталозі.
Цей процес установки займе певний час.
Я думаю, що Qt може бути доступний через apt, але для моїх цілей мені знадобилося повне завантаження для іншого проекту, тому я його все одно мав тут.
git clone https://gitlab.kitware.com/cmake/cmake.git
cd cmake
mkdir build
cd build
cmake ..
Це, серед іншого, помістить файл із назвою CMakeCache.txt у папку збірки.
Відкрийте цей файл у своєму текстовому редакторі та відредагуйте наступні рядки, щоб увімкнути 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
cmake ..
Де N - кількість ядер, які ви хочете скласти, в моєму випадку я набрав make -j10
.
make -jN
sudo make install
sudo make install
, на жаль, не замінює версію cmake, що зберігається в / usr / bin.
Можливо, є більш чистий спосіб здійснити цей крок.
Використовуйте cmake --version
для перевірки, чи потрібно вам це робити, якщо вона надає версію, яка постачалася з apt (для мене на момент написання, 3.10.2), вам потрібно буде це зробити.
Ви також повинні переконатися, що ваша версія cmake знаходиться в / usr / local / bin /
Мені потрібно було зробити наступне:
sudo mv /usr/bin/cmake /usr/bin/cmake_old
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
Мені не сподівалося, що потрібно буде пов’язати нову версію cmake в / usr / bin /, оскільки / usr / local / bin має бути в PATH; чомусь він би вперто шукати лише cmake в / usr / bin, і мені дав би помилку, сказавши, що / usr / bin / cmake не знайдено, хоча остання версія cmake була доступна в / usr / local / bin.
Я здогадуюсь, що можливо, що скидання bash або перезавантаження могло б виправити потребу в посиланнях, але я не впевнений.
cmake-gui
щоб запустити інтерфейс користувачаКласно!
Версія Cmake, яку я намагаюся встановити: ця фіксація , для цього немає особливого значення, я просто клонував останню версію.
На мою думку, цей метод повинен працювати, якщо ви використовуєте підходящу версію cmake для налаштування останньої версії cmake протягом усього цього процесу. Якщо це не працює, дайте мені знати в коментарях.