Skocz do zawartości

Gcc


waksiu

Rekomendowane odpowiedzi

chce skompilowac programik c++ przez kompilator gcc czy tam g++ i gdy to robie to wypisuje mi:

 

zad.c:3:19: stdio.h: Nie ma takiego pliku ani katalogu

zad.c:4:22: iostream.h: Nie ma takiego pliku ani katalogu

zad.c: In function `int main()':

zad.c:9: error: `cout' undeclared (first use this function)

zad.c:9: error: (Each undeclared identifier is reported only once for each function it appears in.)

zad.c:10: error: `cin' undeclared (first use this function)

 

:(

 

pomocy!! co mam zrobic? :(

Odnośnik do komentarza
Udostępnij na innych stronach

Witam.

 

Nie za bardzo wiem, co napisałeś w tym programie, ale mam pewną propozycję. Spróbuj po dodaniu plików nagłówkowych dopisać linijkę:

using namespace std ;

 

To ma szansę pomóc. Jeśli nie zadziała, to podeślij początek kodu (ten, gdzie masz zdefinowane pliki nagłówkowe) i zobaczymy co się da zrobić.

 

Pozdrawiam.

Odnośnik do komentarza
Udostępnij na innych stronach

KozaK dobrze mówi jeśli chodzi o cout i cin.

 

zad.c:3:19: stdio.h: Nie ma takiego pliku ani katalogu

zad.c:4:22: iostream.h: Nie ma takiego pliku ani katalogu

 

Widocznie masz kompilator w nowszej wersji. Co do stdio.h to ta biblioteka akurat powinna być (przynajmniej w mojej wersji gcc 3.4.2 jest). Jeśli chodzi o iostream.h to spróbuj tak: #include <iostream> (bez .h - takie są nowe biblioteki) i poczytaj sobie troche io

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli masz Fedorę to o ile się nie mylę w tej własnie distro istnieje mozliwość nie instalowania nagłówków... noe bo nic innego mi do głowy nie przychodzi...

 

Sprawa jest jeszcze tego rodzaju że jeśli plik jest .cpp lub .cc to gcc go nie skąpiluje tylko g++.

 

hmm...

 

A szukałeś stdio.h itp w /usr/include ? Może je masz tylko gcc nie ma ścieżek dobrze ustawionych?

Spróbuj

#g++ -o prog prog.cc -I/usr/include

Odnośnik do komentarza
Udostępnij na innych stronach

  • 2 weeks later...

#KozaK

using namespace std

 

Urzywasz tego kiedy chcesz wukorzystać przestrzeń standardowych bibliotek, najnowszych (ten patent wszedł dopiero w c++,być może chodzi o wyodrębjnienie bibliotek c++ spośród wszystkich dostępnych C/C++, dokładnie nie wiem). Wtedy przy dołanczaniu biblioteki piszesz np.

 

#include <stdlib>

 

zamiast

 

#include <stdlib.h>

Odnośnik do komentarza
Udostępnij na innych stronach

nazwy headerow sie pozmienialy w standardzie ISO C++

stdlib.h -> cstdlib

stdio.h -> cstdio

iostream.h -> iostream

 

czyli np.

 

#include <iostream>

using namespace std;

int main()
{
cout << "bleeeee" << endl;
return 0;
}

 

i jeszcze jedno: zauwazylem w komunikacie bledu ze Twoj program ma rozszerzenie .c - zmien na .cpp albo .cc i skompiluj g++

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
×
×
  • Dodaj nową pozycję...