Próbowałem pobrać https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz i zbudować go, ale po kompilacji nie ma cmake-gui w podfolderze ./bin. Czy cmake-gui jest dostarczane w innym archiwum źródłowym?
Próbowałem pobrać https://cmake.org/files/v3.11/cmake-3.11.0.tar.gz i zbudować go, ale po kompilacji nie ma cmake-gui w podfolderze ./bin. Czy cmake-gui jest dostarczane w innym archiwum źródłowym?
Odpowiedzi:
Dwie opcje tutaj:
cmake-gui
jest pakowany jako cmake-qt-gui . Zainstaluj z:
sudo apt-get install cmake-qt-gui
Jeśli naprawdę musisz zbudować go ze źródła, wykonaj następujące czynności:
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
z apt po skompilowaniu cmake
ze źródeł doprowadziłaby do następującego rodzaju błędu: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.
Nic innego nie zależy od cmake (prawdopodobnie), więc jest to węzeł liścia. Odinstaluj deb. Pobierz najnowsze źródło z https://cmake.org/ i rozpakuj gdzieś tarball, włóż do niego cd.
./bootstrap --qt-gui
make
make install
Zakładając, że masz zainstalowane oprogramowanie deweloperskie QT. Skończysz na zwykłym cmake wierszu polecenia i cmake-qui. Uruchom je z wiersza poleceń, wpisując cmake lub cmake-gui, nie wiem o dodawaniu do menu.
W tym konkretnym procesie postanowiłem skonfigurować najnowszą wersję cmake z odpowiednią wersją cmake (przepraszam, jeśli jest to mylące).
cmake-gui jest kompilowany z tym samym repozytorium co narzędzie wiersza poleceń cmake, ale domyślna konfiguracja kompilacji cmake nie jest skonfigurowana do budowania cmake-gui (ani interfejsu przekleństw, ani interfejsu Qt).
Aby zbudować cmake za pomocą cmake-gui, konieczne jest ustawienie niektórych zmiennych w skrypcie kompilacji cmake. Zwykle możesz to zrobić za pomocą interfejsu użytkownika, ale można również ustawić te zmienne, ręcznie edytując plik CMakeCache.txt w katalogu kompilacji, co pokażę, jak to zrobić w tej odpowiedzi.
CMake wymaga Qt, ale nie może go znaleźć automatycznie, jedną z rzeczy, które musimy zrobić, to pokazać, gdzie znajdują się skrypty Qt CMake.
Pobierz instalator ze strony internetowej Qt . W moim przypadku wybrałem najnowszą wersję 5.12 (w momencie pisania 5.12.7) i zainstalowałem ją ze wszystkimi ustawieniami domyślnymi.
Musisz założyć konto w Qt, aby pobrać instalator przy użyciu tej metody; konto jest bezpłatne dla użytkowników open source (którym jesteś, jeśli używasz tego do zbudowania cmake na własny użytek; jeśli planujesz używać Qt do czegokolwiek innego, powinieneś sprawdzić, czy możesz użyć tej wersji).
Zainstalowałem Qt w folderze o nazwie Qt w moim katalogu domowym.
Ten proces instalacji potrwa chwilę.
Myślę, że Qt może być dostępny przez apt, ale do moich celów potrzebowałem pełnego pobrania innego projektu, więc i tak miałem go tutaj.
git clone https://gitlab.kitware.com/cmake/cmake.git
cd cmake
mkdir build
cd build
cmake ..
Spowoduje to między innymi umieszczenie pliku o nazwie CMakeCache.txt w folderze kompilacji.
Otwórz ten plik w edytorze tekstu i edytuj następujące wiersze, aby włączyć interfejs qt ui (znalazłem je, wyszukując qt).
Zauważ, że musisz zastąpić PATH_TO_QT katalogiem, w którym znajduje się twój katalog qt, w moim przypadku PATH_TO_QT to po prostu / 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 ..
Gdzie N jest liczbą rdzeni, które chcesz skompilować, w moim przypadku wpisałem make -j10
.
make -jN
sudo make install
sudo make install
nie zastępuje wersji cmake przechowywanej w / usr / bin, niestety.
Ten sposób może być czystszy.
Użyj, cmake --version
aby sprawdzić, czy musisz to zrobić, jeśli daje wersję dostarczoną z apt (dla mnie w momencie pisania 3.10.2), musisz to zrobić.
Powinieneś także sprawdzić, czy twoja wersja cmake znajduje się w / usr / local / bin /
Musiałem wykonać następujące czynności:
sudo mv /usr/bin/cmake /usr/bin/cmake_old
sudo ln -s /usr/local/bin/cmake /usr/bin/cmake
Nie spodziewałem się, że będę musiał połączyć nową wersję cmake z / usr / bin /, ponieważ / usr / local / bin powinien znajdować się w zmiennej PATH; z jakiegoś powodu uparcie szukałby tylko cmake w / usr / bin i wyświetlał błąd, mówiąc, że nie znaleziono / usr / bin / cmake, mimo że najnowsza wersja cmake była dostępna w / usr / local / bin.
Wydaje mi się, że możliwe jest, że zresetowanie bash'a lub ponowne uruchomienie mogło naprawić potrzebę linkowania, ale nie jestem pewien.
cmake-gui
aby uruchomić interfejs użytkownikaFajne!
Wersja Cmake, którą próbuję zainstalować: to zatwierdzenie , nie ma to żadnego szczególnego znaczenia, właśnie sklonowałem najnowszą.
Moim zdaniem ta metoda powinna działać, jeśli używasz apt cmake do skonfigurowania najnowszej wersji cmake podczas całego tego procesu. Jeśli to nie zadziała, daj mi znać w komentarzach.