gcc-Problem (Neuling)!!

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
luggineun
Beiträge: 3
Registriert: 30.09.2008 21:19:42

gcc-Problem (Neuling)!!

Beitrag von luggineun » 30.09.2008 21:34:42

Hi
Ich bin ein absoluter Debian Neuling und habe bei der Verwendung von gcc folgendes Problem. Der Compiler findet die verwendeten Includes nicht und somit erhalte ich bei der kompelierung dieses Testprogramms ein Reihe von Errors:

Code: Alles auswählen

#include <iostream>
#include <string.h>

using namespace std;

int main ()
{
 string s1;
 cin >> s1;
 cout << s1 << endl;
 return 0;
}

Code: Alles auswählen

String.c:1:20: error: iostream: Datei oder Verzeichnis nicht gefunden
String.c:4: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'std'String.c: In function 'main':
String.c:8: error: 'string' undeclared (first use in this function)
String.c:8: error: (Each undeclared identifier is reported only once
String.c:8: error: for each function it appears in.)
String.c:8: error: expected ';' before 's1'
String.c:9: error: 'cin' undeclared (first use in this function)
String.c:9: error: 's1' undeclared (first use in this function)
String.c:10: error: 'cout' undeclared (first use in this function)
String.c:10: error: 'endl' undeclared (first use in this function)
Nach durchstöbern des Forums habe ich bemerkt, dass mir das Paket build-essential fehlte. Dieses habe ich nachträglich installiert, jedoch ist das Problem dasselbe! Das Paket Gcc-4.1 sowie die Entwicklungslibary libc6-dev sind ebenfalls installiert. Bitte um Hilfe!

Spasswolf
Beiträge: 3472
Registriert: 30.11.2005 10:32:22
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: Wald

Re: gcc-Problem (Neuling)!!

Beitrag von Spasswolf » 30.09.2008 21:43:56

Wenn du c++ nutzen willst brauchst den g++ und die passenden Header (libstdc++6-dev).

luggineun
Beiträge: 3
Registriert: 30.09.2008 21:19:42

Re: gcc-Problem (Neuling)!!

Beitrag von luggineun » 30.09.2008 21:56:05

Spasswolf hat geschrieben:Wenn du c++ nutzen willst brauchst den g++ und die passenden Header (libstdc++6-dev).
i will aber nicht c++ verwenden. Mir ist bekannt, dass ich dafür den g++ compiler mit passenden Header benötige (habe ich auch installiert).

Benutzeravatar
rolo
Beiträge: 2697
Registriert: 29.08.2002 12:12:25
Lizenz eigener Beiträge: neue BSD Lizenz
Wohnort: hannover

Re: gcc-Problem (Neuling)!!

Beitrag von rolo » 30.09.2008 22:02:54

i will aber nicht c++ verwenden
dann solltest du vielleicht c code schreiben.
obiges c++ übersetzt du mit

Code: Alles auswählen

g++ -Wall datei.cpp -o datei

kryzir
Beiträge: 178
Registriert: 22.09.2007 22:11:33

Re: gcc-Problem (Neuling)!!

Beitrag von kryzir » 30.09.2008 22:26:57

In C würde es z.B. so aussehen:

Code: Alles auswählen

#include <stdio.h>
#include <stdlib.h>

int main(void) 
{
	char s1[255];
	scanf("%s", &s1);
	printf("%s\n", s1);
	
	return EXIT_SUCCESS;
}

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Re: gcc-Problem (Neuling)!!

Beitrag von gms » 30.09.2008 23:02:49

kryzir hat geschrieben:In C würde es z.B. so aussehen:

Code: Alles auswählen

#include <stdio.h>
#include <stdlib.h>

int main(void) 
{
	char s1[255];
	scanf("%s", &s1);
	printf("%s\n", s1);
	
	return EXIT_SUCCESS;
}
in diesem Beispielprogramm stecken zwei Fehler drinnen:

Code: Alles auswählen

gms@gms1 ~ $ diff x-ori.c x.c
7c7
<    scanf("%s", &s1);
---
>    scanf("%254s", s1);
gms@gms1 ~ $ gcc -o x x-ori.c -Wall -fstack-protector-all
x-ori.c: In Funktion »main«:
x-ori.c:7: Warnung: format »%s« erwartet Typ »char *«, aber Argument 2 hat Typ »char (*)[255]«
gms@gms1 ~ $ for ((i=0;$i<300;i++)); do echo -n $(($i%10)); done | ./x
01234567890... Ausgabe gekürzt
*** stack smashing detected ***: ./x terminated
Speicherzugriffsfehler
gms@gms1 ~ $ gcc -o x x.c -Wall -fstack-protector-all
gms@gms1 ~ $ for ((i=0;$i<300;i++)); do echo -n $(($i%10)); done | ./x
01234567890... Ausgabe gekürzt
gms@gms1 ~ $  
Gruß
gms

kryzir
Beiträge: 178
Registriert: 22.09.2007 22:11:33

Re: gcc-Problem (Neuling)!!

Beitrag von kryzir » 30.09.2008 23:34:15

Passiert, ich bin derzeit noch eher ein Freund von C++.

Dann halt so, danke für die Korrektur: :)

Code: Alles auswählen

#include <stdio.h>
#include <stdlib.h>

int main(void)
{
   char s1[255];
   scanf("%254s", &s1[0]);
   printf("%s\n", s1);
   
   return EXIT_SUCCESS;
}

luggineun
Beiträge: 3
Registriert: 30.09.2008 21:19:42

Re: gcc-Problem (Neuling)!!

Beitrag von luggineun » 02.10.2008 12:51:02

Vielen Dank für die Hilfe!
Funktioniert nun so wie gewünscht...

Antworten