Tentei baixar https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz e construí-lo, mas não há cmake-gui na subpasta ./bin após a compilação. O cmake-gui é fornecido em outro arquivo de origem?
Tentei baixar https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz e construí-lo, mas não há cmake-gui na subpasta ./bin após a compilação. O cmake-gui é fornecido em outro arquivo de origem?
Respostas:
Duas opções aqui:
cmake-gui
é empacotado como cmake-qt-gui . Instale-o com:
sudo apt-get install cmake-qt-gui
Se você realmente precisa compilá-lo a partir da fonte, faça o seguinte:
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 após a compilação a cmake
partir das fontes levaria ao seguinte tipo de erro: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.
Nada mais depende do cmake (provavelmente), por isso é um nó de folha. Desinstale o deb. Obtenha a fonte mais recente em https://cmake.org/ e descompacte o tarball em algum lugar, inclua nele.
./bootstrap --qt-gui
make
make install
Supondo que você tenha o material do desenvolvedor do QT instalado. Você acaba com a linha de comando regular cmake e cmake-qui. Inicie-os na linha de comando, digitando cmake ou cmake-gui, não sei como adicionar aos menus.
Nesse processo específico, decidi configurar a versão mais recente do cmake, com a versão apt do cmake (desculpe se isso é confuso).
O cmake-gui é compilado com o mesmo repositório que a ferramenta de linha de comando cmake, mas a configuração padrão de compilação do cmake não está configurada para compilar o cmake-gui (nem a interface curses nem a interface Qt).
Para construir o cmake com o cmake-gui, é necessário definir algumas variáveis no script de construção do cmake. Você normalmente pode fazer isso por meio da interface do usuário, mas também é possível definir essas variáveis editando manualmente o CMakeCache.txt no diretório de construção, que é o que mostrarei como fazer nesta resposta.
O CMake requer Qt, mas não pode encontrá-lo automaticamente, uma das coisas que precisamos fazer é mostrar onde estão os scripts do Qt CMake.
Faça o download do instalador no site da Qt . No meu caso, selecionei a versão mais recente do 5.12 (no momento da redação, 5.12.7) e instalei-a com todas as configurações padrão.
Você precisará fazer uma conta no Qt para baixar o instalador usando este método; a conta é gratuita para usuários de código aberto (se você estiver usando isso para criar o cmake para seu próprio uso; se você planeja usar o Qt para qualquer outra coisa, verifique se pode usar esta versão).
Eu instalei o Qt em uma pasta chamada Qt no meu diretório pessoal.
Esse processo de instalação vai demorar um pouco.
Eu acho que o Qt pode estar disponível através do apt, mas para meus propósitos eu precisava do download completo para outro projeto, então eu o tive aqui de qualquer maneira.
git clone https://gitlab.kitware.com/cmake/cmake.git
cd cmake
mkdir build
cd build
cmake ..
Isso colocará, entre outras coisas, um arquivo chamado CMakeCache.txt na sua pasta de compilação.
Abra este arquivo no seu editor de texto e edite as seguintes linhas para ativar o qt ui (eu encontrei estas pesquisando qt).
Note que você precisa substituir PATH_TO_QT por onde está seu diretório qt, no meu caso PATH_TO_QT era apenas / 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 ..
Onde N é o número de núcleos que você deseja compilar, no meu caso, digitei make -j10
.
make -jN
sudo make install
sudo make install
não substitui a versão do cmake armazenada em / usr / bin, infelizmente.
Pode haver uma maneira mais limpa de realizar esta etapa.
Use cmake --version
para verificar se você precisa fazer isso, se ele fornecer a versão que acompanha o apt (para mim no momento da redação, 3.10.2), você precisará fazer isso.
Você também deve verificar se sua versão do cmake está em / usr / local / bin /
Eu precisava fazer o seguinte:
sudo mv /usr/bin/cmake /usr/bin/cmake_old
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
Eu não esperava vincular a nova versão do cmake em / usr / bin /, pois / usr / local / bin deve estar no PATH; por alguma razão, ele procuraria teimosamente o cmake em / usr / bin e me deu um erro dizendo que / usr / bin / cmake não foi encontrado, embora a versão mais recente do cmake estivesse disponível em / usr / local / bin.
Eu acho que é possível que uma redefinição do bash ou uma reinicialização possa ter corrigido a necessidade de vinculação, mas não tenho certeza.
cmake-gui
para iniciar a interface do usuárioLegal!
Versão do Cmake que estou tentando instalar: esse commit , não há um significado específico para isso, apenas clonei o mais recente.
É minha opinião que esse método funcione se você estiver usando a versão apt do cmake para configurar a versão mais recente do cmake durante todo esse processo. Se isso não funcionar, deixe-me saber nos comentários.