Problem z kompilacją w GNU

Problem z kompilacją w GNU
Kamila Nowak
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 50
0

Mam problem z kompilacją w Bashu. Ale po kolei. Tworzę sobie katalog a w nim plik tekst.c. Za pomocą komendy gedit tekst.c zapisuje program i go zapsiuje. po wpisaniu gcc tekst.c wychodzi komunikat nie odnaleziono polecenia gcc. Co w takiej sytuacji?

MarekR22
  • Rejestracja: dni
  • Ostatnio: dni
3

zainstalować gcc.

Kopiuj
sudo apt-get update
sudo apt-get install build-essential
Visual Code
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
3

Jeśli nie rozpoznaje jakiegoś polecenia, to znaczy, że nie masz kompilatora gcc w zmiennych środowiskowych (environment path).

W tym wypadku, najprawdopodobniej dlatego, że nie masz go zainstalowanego. (😅 czasem to nie jest takie oczywiste)

Najłatwiej zainstalować go przez Package Manager, na debian/ubuntu będzie to apt, archLinuch domyślnie ma pacman, centos ma yum itd..
Któraś z tych komend wpisana w terminalu powinna zadziałać, chyba, że używasz jeszcze czegoś innego ;)

Kopiuj
sudo apt-get update
sudo apt-get install build-essential

sudo yum updateinfo 
sudo yum groupinstall 'Development Tools'

sudo pacman -Syy
sudo pacman -S gcc   !!!

Jęśli instalacja się powiedzie możesz sprawdzić wersję gcc wpisując w konsolę:

Kopiuj
gcc --version

Następnie kompilujesz kod i uruchamiasz plik wykonywalny:

Kopiuj
gcc program.c -o output.o

./output

W przypadku, gdy nie sprecyzujesz nazwy pliku wyjściowego, domyślnie przybiera on nazwę a.out. Po więcej szukaj w gcc --help.

Kamila Nowak
  • Rejestracja: dni
  • Ostatnio: dni
  • Lokalizacja: Kraków
  • Postów: 50
0

Po wpisaniu pierwszej komendy wyszło w większości:

Kopiuj
Próbowanie nowego serwera lustrzanego. [...] Could not resolve host [...] Nieznany błąd.

Następnie wpisuję drugą komendę. Prosi mnie o podanie hasła. I komunikat:

Kopiuj
[moja nazwa uzytkownika] nie występuje w pliku sudoers

Nie wiem. Może reinstall pomoże? To wersja CentOSa 7.5 w wersji agh.ftj ze strony Linuksa.

Visual Code
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 107
1

Musisz wykonać jeszcze kilka kroków, które znajdziesz w linku od @Dregorio niżej, następnie wróć tutaj.
Upewnij się, że masz połączenie z internetem i jeszcze raz spróbuj wykonać te polecenia, pamiętaj, że sudo oznacza, że uruchamiasz polecenie z poziomu administratora, roota, dlatego zwykle po pierwszym takim poleceniu, zapyta cię o hasło. Na przyszłość radzę ci zawsze instalować wersję anglojęzyczną, łatwiej będzie ci wyszukiwać rozwiązania w internecie.

Kopiuj
sudo yum updateinfo 
sudo yum groupinstall 'Development Tools'

Powodzenia :)

Edit:
Po kilku próbach w końcu się udało, potrzebne było jeszcze wyczyścić cache i uruchomić dhclint w centos domyślnie jest on wyłączony:

Kopiuj
rm -fr /var/cache/yum/*
yum clean all
Kopiuj
sudo dhclient

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.