Ho provato a scaricare https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz e costruirlo, ma non c'è cmake-gui nella sottocartella ./bin dopo la compilazione. Cmake-gui è fornito in un altro archivio sorgente?
Ho provato a scaricare https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz e costruirlo, ma non c'è cmake-gui nella sottocartella ./bin dopo la compilazione. Cmake-gui è fornito in un altro archivio sorgente?
Risposte:
Due opzioni qui:
cmake-gui
è confezionato come cmake-qt-gui . Installalo con:
sudo apt-get install cmake-qt-gui
Se hai davvero bisogno di costruirlo dal sorgente, procedi come segue:
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
con apt dopo la compilazione cmake
da fonti porterebbe al seguente tipo di errore: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.
Nient'altro dipende da cmake (probabilmente) quindi è un nodo foglia. Disinstallare il deb. Ottieni l'ultima fonte da https://cmake.org/ e decomprimi il tarball da qualche parte, inseriscilo nel cd.
./bootstrap --qt-gui
make
make install
Supponendo che tu abbia installato roba per sviluppatori QT. Si finisce con sia la normale linea di comando cmake che cmake-qui. Avviarli dalla riga di comando digitando cmake o cmake-gui, non so aggiungere ai menu.
In questo particolare processo ho deciso di configurare l'ultima versione di cmake, con la versione apt di cmake (scusate se questo è confuso).
cmake-gui è compilato con lo stesso repository dello strumento da riga di comando cmake, ma la configurazione di build predefinita per cmake non è impostata per compilare cmake-gui (né l'interfaccia curses né l'interfaccia Qt).
Per compilare cmake con cmake-gui, è necessario impostare alcune variabili nello script di compilazione di cmake. Normalmente potresti farlo attraverso l'interfaccia utente, ma è anche possibile impostare queste variabili modificando manualmente CMakeCache.txt nella directory di build, che è ciò che mostrerò come fare in questa risposta.
CMake richiede Qt, ma non lo trova automaticamente, una delle cose che dobbiamo fare è mostrare dove si trovano gli script Qt CMake.
Scarica il programma di installazione dal sito Web di Qt . Nel mio caso, ho selezionato l'ultima versione di 5.12 (al momento della scrittura, 5.12.7) e l'ho installata con tutte le impostazioni predefinite.
Dovrai creare un account con Qt per scaricare il programma di installazione usando questo metodo; l'account è gratuito per gli utenti open source (cosa che sei se lo stai usando per creare semplicemente cmake per il tuo uso personale; se prevedi di usare Qt per qualsiasi altra cosa dovresti verificare se puoi usare questa versione).
Ho installato Qt in una cartella denominata Qt nella mia home directory.
Questo processo di installazione richiederà del tempo.
Penso che Qt potrebbe essere disponibile tramite apt, ma per i miei scopi avevo bisogno del download completo per un altro progetto, quindi l'ho avuto qui comunque.
git clone https://gitlab.kitware.com/cmake/cmake.git
cd cmake
mkdir build
cd build
cmake ..
Ciò, tra le altre cose, inserirà un file chiamato CMakeCache.txt nella cartella di compilazione.
Apri questo file nel tuo editor di testo e modifica le seguenti righe per abilitare il qt ui (li ho trovati cercando qt).
Nota che devi sostituire PATH_TO_QT con dove si trova la tua directory qt, nel mio caso PATH_TO_QT era solo / home / mio nome / 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 ..
Dove N è il numero di core che vuoi compilare, nel mio caso ho digitato make -j10
.
make -jN
sudo make install
sudo make install
purtroppo non sostituisce la versione di cmake memorizzata in / usr / bin.
Potrebbe esserci un modo più pulito per eseguire questo passaggio.
Utilizzare cmake --version
per verificare se è necessario eseguire questa operazione, se fornisce la versione fornita con apt (per me al momento della stesura, 3.10.2), sarà necessario farlo.
Dovresti anche verificare che la tua versione di cmake sia in / usr / local / bin /
Ho dovuto fare quanto segue:
sudo mv /usr/bin/cmake /usr/bin/cmake_old
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
Non mi aspettavo di dover collegare la nuova versione di cmake in / usr / bin /, poiché / usr / local / bin dovrebbe essere in PERCORSO; per qualche motivo, cercherebbe ostinatamente solo cmake in / usr / bin e mi darebbe un errore dicendo che / usr / bin / cmake non è stato trovato anche se l'ultima versione di cmake era disponibile in / usr / local / bin.
Immagino sia possibile che un reset di bash o un riavvio possano aver risolto la necessità del collegamento, ma non ne sono sicuro.
cmake-gui
per avviare l'interfaccia utenteFreddo!
Versione Cmake che sto cercando di installare: questo commit , non ha alcun significato particolare in questo, ho appena clonato l'ultimo.
Ritengo che questo metodo dovrebbe funzionare se si utilizza la versione apt di cmake per configurare l'ultima versione di cmake durante l'intero processo. Se questo non funziona, fammelo sapere nei commenti.