1. Wstęp
Czym jest GCC?
GCC (GNU Compiler Collection) to kompilator open-source zdolny do kompilowania wielu języków programowania, takich jak C i C++. Jest szeroko używany jako domyślny kompilator w wielu dystrybucjach Linuksa.
Kluczowe funkcje GCC:
- Obsługuje wiele języków, w tym C, C++, Fortran, Javę i więcej.
- Open source i wolny do użycia przez każdego.
- Umożliwia szybką i niezawodną kompilację.
Dlaczego używać GCC na Ubuntu?
- Włączony jako standardowy pakiet Repozytoria Ubuntu zawierają GCC domyślnie, co ułatwia instalację.
- Obfite wsparcie i dokumentacja Ponieważ jest wielu użytkowników na całym świecie, istnieje bogactwo informacji dostępnych do rozwiązywania problemów i dostosowywania.
- Darmowy do użycia Możesz zbudować potężne środowisko deweloperskie niskim kosztem.
- Łatwy do dostosowania Możesz zarządzać wieloma wersjami GCC, co pozwala budować środowisko dostosowane do każdego projektu.
Podsumowanie
W tym artykule wprowadziliśmy przegląd GCC i korzyści z jego używania na Ubuntu. GCC to potężny kompilator obsługujący wiele języków i darmowy do użycia, a na Ubuntu jest szczególnie łatwy do zainstalowania.

2. Wymagania wstępne
Aktualizacja systemu i sprawdzenie zależności
Najpierw zaktualizuj informacje o pakietach Ubuntu do najnowszego stanu. To pomaga zapobiegać błędom podczas instalacji.
1. Aktualizacja systemu do najnowszego stanu
sudo apt update
sudo apt upgrade
sudo apt update: Aktualizuje listę pakietów do najnowszej wersji.sudo apt upgrade: Uaktualnia zainstalowane pakiety do ich najnowszych wersji.
Uwagi:
- Aktualizacja może zająć kilka minut.
- Jeśli po aktualizacji pojawi się komunikat „wymagany restart”, zrestartuj system.
Sprawdzenie narzędzi deweloperskich
Aby zainstalować GCC, wymagane są podstawowe narzędzia deweloperskie i pakiety. Uruchom poniższe polecenie, aby zainstalować niezbędne pakiety z wyprzedzeniem.
sudo apt install build-essential
To polecenie instaluje niezbędne narzędzia deweloperskie, w tym GCC.
Przykłady zainstalowanych pakietów:
- gcc (kompilator C)
- g++ (kompilator C++)
- make (narzędzie budowania)
Sprawdzenie statusu instalacji
Aby potwierdzić, które pakiety są zainstalowane i sprawdzić ich wersje, użyj poniższego polecenia:
gcc --version
Przykładowy wynik:
gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
Jeśli widzisz ten wynik, możesz potwierdzić, że GCC został poprawnie zainstalowany.
Podsumowanie wymagań wstępnych
Do tego momentu ukończyłeś wymagania wstępne niezbędne do zainstalowania GCC.
- Zaktualizowałeś i uaktualniłeś system do najnowszego stanu.
- Zainstalowałeś wymagane pakiety, aby przygotować środowisko.
- Zweryfikowałeś status instalacji GCC i wersję.
3. Jak zainstalować GCC
Podstawowe kroki instalacji
Na Ubuntu GCC można łatwo zainstalować z oficjalnego repozytorium. Postępuj zgodnie z poniższymi krokami, aby wykonać instalację.
- Zainstaluj pakiet build-essential
sudo apt install build-essential
To polecenie instaluje GCC, G++ i pełny zestaw narzędzi deweloperskich.
- Potwierdź postęp instalacji Podczas instalacji, jeśli wyświetlony zostanie „Proceed? (Y/n)”, wpisz „Y” i naciśnij Enter.
Jak zweryfikować po instalacji
Po ukończeniu instalacji zweryfikuj wersję GCC, aby potwierdzić, że wszystko jest poprawnie zainstalowane:
gcc --version
Przykładowy wynik:
gcc (Ubuntu 9.4.0-1ubuntu1) 9.4.0
Copyright (C) 2021 Free Software Foundation, Inc.
Jeśli informacje o wersji są wyświetlane jak pokazano, GCC został pomyślnie zainstalowany.
Instalowanie dodatkowych narzędzi lub bibliotek
Czasem instalacja samego GCC nie jest wystarczająca, więc możesz chcieć zainstalować następujące dodatkowe pakiety:
- Zainstaluj G++ (kompilator C++)
sudo apt install g++
- Zainstaluj narzędzia do debugowania
sudo apt install gdb
- Zainstaluj strony podręcznika deweloperskiego
sudo apt install manpages-dev
To zapewnia, że możesz natychmiast odwołać się do pomocy i stron podręcznika związanych z GCC, gdy jest to potrzebne.
Rozwiązywanie problemów z nieudanymi instalacjami
- Pakiet nie znaleziony
E: Unable to locate package build-essential
Rozwiązanie: Zaktualizuj informacje o repozytorium:
sudo apt update
sudo apt upgrade
- Występują błędy uprawnień
Permission denied
Rozwiązanie: Użyj sudo na początku poleceń, aby uruchomić je z uprawnieniami administratora.
Podsumowanie kroków instalacji
W tej sekcji wyjaśniono, jak zainstalować GCC i zweryfikować instalację, a także jak zainstalować dodatkowe pakiety.
Kluczowe wnioski:
- Użyj
sudo apt install build-essential, aby zainstalować szybko. - Sprawdź wersję, aby zweryfikować status instalacji.
- Dodaj G++, gdb i inne narzędzia w razie potrzeby.

4. Podstawowe użycie GCC
Tworzenie i kompilowanie prostego programu
- Utwórz przykładowy program
Najpierw utwórz prosty program „Hello, World!”:
nano hello.c
Gdy otworzy się edytor, wprowadź następujący kod:
#include <stdio.h>
int main() {
printf("Hello, World!n");
return 0;
}
Po wprowadzeniu naciśnij Ctrl + X, aby zapisać, następnie naciśnij Y, aby potwierdzić i wyjść.
Kompiluj program
Następnie skompiluj ten program za pomocą GCC:
gcc hello.c -o hello
Wyjaśnienie polecenia:
gcc: Polecenie kompilatora.hello.c: Plik źródłowy do skompilowania.-o hello: Określa nazwę pliku wyjściowego jako „hello.”
Uruchom skompilowany program
Uruchom skompilowany program za pomocą następującego polecenia:
./hello
Oczekiwany wynik:
Hello, World!
Jeśli to zostanie wyświetlone, program został pomyślnie skompilowany i wykonany.
Obsługa błędów
- Błędy spowodowane błędami w kodowaniu
Przykładowa wiadomość błędu:
hello.c: In function ‘main’:
hello.c:3:5: error: expected ‘;’ before ‘return’
return 0;
Rozwiązanie:
Wiadomość błędu wskazuje lokalizację (np. linia 3). Sprawdź swój kod i popraw błędy składni.
- Błąd kompilacji
Przykładowy błąd:
gcc: command not found
Rozwiązanie:
GCC może nie być zainstalowany. Zainstaluj ponownie za pomocą:
sudo apt install build-essential
- Błąd w czasie wykonywania
Przykładowy błąd:
bash: ./hello: Permission denied
Rozwiązanie:
Jeśli plik nie ma uprawnień do wykonania, użyj:
chmod +x hello
./hello
Opcje optymalizacji
GCC pozwala na użycie opcji optymalizacji w celu poprawy wydajności programu.
Przykład: Określ poziom optymalizacji
gcc -O2 hello.c -o hello
-O1: Podstawowe optymalizacje.-O2: Bardziej zaawansowane optymalizacje.-O3: Maksymalna optymalizacja (priorytet dla szybkości wykonania).
To pomaga w bardziej efektywnej optymalizacji szybkości wykonania lub rozmiaru kodu.
Podsumowanie
W tej sekcji omówiono tworzenie, kompilowanie i uruchamianie podstawowego programu za pomocą GCC.
Kluczowe wnioski:
- Nauczyłeś się, jak tworzyć przykładowy kod i kompilować go.
- Omówiono, jak radzić sobie z błędami, gdy wystąpią.
- Wprowadzono opcje optymalizacji w celu zwiększenia wydajności.
5. Zarządzanie wieloma wersjami
Instalowanie wielu wersji
W Ubuntu możesz instalować różne wersje GCC jednocześnie. Zainstalujmy wiele wersji za pomocą kroków poniżej.
- Sprawdź dostępne wersje
sudo apt search gcc-
To polecenie pozwala zobaczyć listę wersji GCC w repozytorium.
Przykładowy wynik:
gcc-9 - GNU C compiler
gcc-10 - GNU C compiler
gcc-11 - GNU C compiler
- Zainstaluj wymagane wersje
Na przykład, zainstaluj GCC 9 i GCC 10:
sudo apt install gcc-9 gcc-10
Po zakończeniu instalacji przejdź do konfiguracji przełączania wersji.
Jak przełączać wersje
Ubuntu obsługuje polecenie update-alternatives do łatwego przełączania wersji GCC.
- Zarejestruj zainstalowane wersje GCC za pomocą update-alternatives
Uruchom:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-9 90
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-10 100
W tej konfiguracji GCC 10 jest zarejestrowany jako preferowany domyślny (priorytet 100).
- Wybierz wersję do użycia
Użyj następującego polecenia, aby ręcznie wybrać żądaną wersję:
sudo update-alternatives --config gcc
Przykładowe wyjście:
There are 2 choices for the alternative gcc (providing /usr/bin/gcc).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/gcc-10 100 auto mode
1 /usr/bin/gcc-9 90 manual mode
2 /usr/bin/gcc-10 100 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Wprowadź żądany numer i naciśnij Enter.
Używanie konkretnej wersji na projekt
Jeśli chcesz używać konkretnej wersji dla każdego projektu, możesz odpowiednio przełączać linki symboliczne.
- Utwórz lub zaktualizuj link
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
To polecenie ustawia GCC 9 jako wersję domyślną.
- Sprawdź wersję
gcc --version
Potwierdź, że skonfigurowana wersja jest poprawnie zastosowana.
Podsumowanie
W tej sekcji wyjaśniliśmy, jak zainstalować wiele wersji GCC i używać update-alternatives do łatwego przełączania.
Kluczowe wnioski:
- Zainstaluj potrzebne wersje i zarządzaj nimi za pomocą
update-alternatives. - Możesz również skonfigurować linki symboliczne, aby używać konkretnej wersji na projekt.

6. Rozwiązywanie problemów
Błędy podczas instalacji i jak je rozwiązać
Przykład błędu 1: Pakiet nie znaleziony
E: Unable to locate package build-essential
Przyczyna:
Lista pakietów nie jest aktualna lub konfiguracja repozytorium ma problemy.
Rozwiązanie:
Uruchom następujące polecenia, aby zaktualizować informacje o repozytorium:
sudo apt update
sudo apt upgrade
sudo apt install build-essential
Dodatkowe rozwiązanie:
sudo add-apt-repository universe
sudo apt update
To może umożliwić znalezienie pakietu.
Przykład błędu 2: Brak uprawnień
Permission denied
Przyczyna:
Polecenia nie są wykonywane z uprawnieniami administracyjnymi.
Rozwiązanie:
Dodaj sudo na początku wszystkich poleceń instalacyjnych.
sudo apt install build-essential
Błędy podczas kompilacji i jak je rozwiązać
Przykład błędu 1: Kompilator nie znaleziony
gcc: command not found
Przyczyna:
GCC nie jest zainstalowany lub PATH nie jest poprawnie ustawiony.
Rozwiązanie:
Sprawdź, czy GCC jest zainstalowany:
sudo apt install gcc
Jeśli jest zainstalowany, sprawdź i dostosuj link symboliczny:
sudo ln -s /usr/bin/gcc-10 /usr/bin/gcc
Przykład błędu 2: Błąd linkowania biblioteki
undefined reference to 'main'
Przyczyna:
Funkcja main nie jest zdefiniowana w twoim programie lub linkowanie nie powiodło się.
Rozwiązanie:
Upewnij się, że funkcja main jest włączona, i skompiluj ponownie z opcjami linkowania, np.:
gcc -o output main.c -lm
Błędy w czasie wykonywania i jak je rozwiązać
Przykład błędu 1: Brak uprawnień do wykonania
bash: ./program: Permission denied
Przyczyna:
Plik wykonywalny nie ma uprawnień do wykonania.
Rozwiązanie:
Nadaj uprawnienia do wykonania:
chmod +x program
./program
Przykład błędu 2: Brakujące biblioteki
error while loading shared libraries: libXXX.so: cannot open shared object file: No such file or directory
Przyczyna:
Wymagane współdzielone biblioteki nie są zainstalowane.
Rozwiązanie:
Sprawdź nazwę brakującej biblioteki i zainstaluj ją:
sudo apt install libXXX-dev
Błędy podczas przełączania wersji i rozwiązania
Przykład błędu: przełączanie nie zastosowane
gcc --version
Jeśli przełączona wersja nie jest pokazywana, ponownie sprawdź ustawienia update-alternatives.
Rozwiązanie:
- Sprawdź listę alternatyw:
sudo update-alternatives --config gcc
- Wybierz poprawny numer.
- Zaktualizuj link symboliczny.
sudo ln -sf /usr/bin/gcc-9 /usr/bin/gcc
Podsumowanie
W tej sekcji wyjaśniliśmy powszechne błędy występujące podczas instalacji i używania GCC oraz strategie ich rozwiązywania.
Kluczowe wnioski:
- Błędy instalacji często można rozwiązać, aktualizując repozytoria lub dostosowując ustawienia repozytoriów.
- Błędy kompilacji można usunąć, sprawdzając kod i opcje linkowania.
- Błędy w czasie wykonywania często wynikają z problemów z uprawnieniami lub brakującymi bibliotekami.
- Problemy z przełączaniem wersji można obsłużyć za pomocą linków symbolicznych i dostosowań
update-alternatives.
7. FAQ
Jak zainstalować najnowszą wersję GCC?
Pytanie:
Chcę zainstalować najnowszą wersję GCC, ale domyślne repozytorium oferuje tylko starsze wersje. Co powinienem zrobić?
Odpowiedź:
Aby zainstalować najnowszą wersję GCC, możesz dodać repozytorium PPA.
- Dodaj repozytorium PPA:
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
- Zaktualizuj listę pakietów:
sudo apt update
- Zainstaluj najnowszą wersję:
sudo apt install gcc-12
- Sprawdź wersję:
gcc --version
Jak odinstalować GCC?
Pytanie:
Chcę odinstalować GCC. Jak powinienem to zrobić?
Odpowiedź:
Możesz usunąć GCC za pomocą następujących poleceń:
sudo apt remove gcc
sudo apt autoremove
Jeśli chcesz również usunąć powiązane narzędzia, dodaj:
sudo apt remove build-essential
Co zrobić, jeśli dostępne są tylko starsze wersje?
Pytanie:
Nawet gdy używam update-alternatives --config gcc, pojawiają się tylko starsze wersje. Jak dodać nowszą wersję?
Odpowiedź:
Ręcznie dodaj nowszą wersję do ustawień alternatyw.
- Zainstaluj wersję, której potrzebujesz:
sudo apt install gcc-12
- Dodaj ją ręcznie do alternatyw:
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-12 120
- Wybierz wersję:
sudo update-alternatives --config gcc
Co zrobić, jeśli wystąpią błędy zależności?
Pytanie:
Podczas instalacji GCC pojawiają się błędy zależności. Jak je rozwiązać?
Odpowiedź:
Błędy zależności mogą wynikać z nieaktualnego systemu. Uruchom:
sudo apt update
sudo apt upgrade
Jeśli to nie rozwiąże problemu, automatycznie napraw uszkodzone zależności:
sudo apt --fix-broken install
Jak użyć konkretnej wersji GCC dla określonego projektu?
Pytanie:
Chcę używać różnych wersji GCC dla różnych projektów. Jak to skonfigurować?
Odpowiedź:
Utwórz link symboliczny w katalogu projektu wskazujący na pożądany binarny GCC.
- Utwórz lokalny link:
ln -s /usr/bin/gcc-9 ./gcc
- Użyj go lokalnie w poleceniach kompilacji:
./gcc -o program program.c
Co zrobić, jeśli wystąpi błąd „command not found”?
Pytanie:
Mimo zainstalowania GCC widzę komunikat „gcc: command not found”. Co powinienem zrobić?
Odpowiedź:
Najpierw potwierdź instalację:
dpkg -l | grep gcc
Jeśli GCC nie jest zainstalowany, zainstaluj go ponownie:
sudo apt install gcc
Jeśli nadal nie działa, sprawdź link symboliczny:
ls -l /usr/bin/gcc
Jeśli link jest uszkodzony, napraw go:
sudo ln -sf /usr/bin/gcc-10 /usr/bin/gcc
Podsumowanie
W tej sekcji przedstawiliśmy często zadawane pytania oraz ich konkretne rozwiązania dotyczące GCC.
Kluczowe wnioski:
- Najnowszą wersję można zainstalować za pomocą repozytoriów PPA.
- Odinstalowanie i zarządzanie wersjami są łatwe dzięki
update-alternatives. - Podaliśmy również konkretne przykłady poleceń do rozwiązywania problemów.

8. Wniosek i kolejne kroki
Podsumowanie tego artykułu
- Przegląd GCC i jego roli
- GCC to potężny kompilator obsługujący wiele języków, takich jak C i C++.
- W systemie Ubuntu można go łatwo zainstalować z oficjalnego repozytorium, co czyni go idealnym do budowania środowisk deweloperskich.
- Kroki instalacji i przygotowania
- Zaktualizowaliśmy system i zainstalowaliśmy pakiet
build-essential. - Sprawdziliśmy również wersje i obsłużyliśmy rozwiązywanie problemów z zależnościami.
- Podstawowe użycie
- Wyjaśniliśmy, jak tworzyć, kompilować i uruchamiać przykładowe programy.
- Omówiliśmy, jak reagować na błędy i używać opcji optymalizacji.
- Zarządzanie wieloma wersjami i przełączanie
- Wyjaśniliśmy, jak używać
update-alternativesdo przełączania między wersjami GCC dla poszczególnych projektów.
- Rozwiązywanie problemów i FAQ
- Omówiliśmy możliwe błędy instalacji i użycia oraz podaliśmy konkretne rozwiązania.
Dodatkowe zasoby
Oto zasoby, które pomogą w dalszej nauce lub zastosowaniach:
- Oficjalna dokumentacja Ubuntu
- Oficjalna strona Ubuntu zawiera szczegółowe przewodniki dotyczące zarządzania pakietami i narzędziami deweloperskimi.
- Oficjalna dokumentacja GNU GCC
- Oficjalny podręcznik GCC pozwala zgłębić zaawansowane ustawienia i użycie.
- Przewodniki po konsoli Linux
- Linux Console publikuje informacje o rozwiązywaniu problemów w różnych tematach Linuxa.
- Strony edukacyjne i fora
- Qiita i Stack Overflow są świetne do przeglądania przykładów kodu i odpowiedzi.
Kolejne kroki
- Zastosowanie GCC w rzeczywistych projektach
- Użyj GCC w rzeczywistych projektach i przeprowadź bardziej zaawansowany rozwój.
- Używanie bibliotek i rozszerzeń
- Zainstaluj dodatkowe biblioteki w razie potrzeby, aby rozszerzyć funkcje projektu.
- Nauka nowych języków i narzędzi
- Poprzez naukę innych języków lub narzędzi budowania, dąż do dalszego rozwoju umiejętności.
- Udział w społeczności
- Dołącz do forów lub projektów open-source, dziel się wiedzą i rozwijaj praktyczne umiejętności we współpracy.
Słowa na zakończenie
W tym artykule wyjaśniliśmy krok po kroku, jak zainstalować i używać GCC na Ubuntu. Obejmuje to wszystko, od podstaw po rozwiązywanie problemów, co ułatwia nawet początkującym konfigurację środowiska deweloperskiego.
Jedna ostateczna uwaga:
Użyj tego artykułu jako odniesienia do zastosowania GCC we własnych projektach, ciesz się programowaniem i odwołuj się do FAQ lub dodatkowych zasobów, jeśli pojawią się nowe pytania.
W następnym artykule planuję omówić podstawy składni C i C++ oraz zaawansowane techniki rozwoju. Proszę śledzić!


