Anzeige:
Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 15 von 27

Thema: C unter Kdevelop?

  1. #1
    Registrierter Benutzer
    Registriert seit
    15.12.2004
    Beiträge
    18

    C unter Kdevelop?

    Hallo

    Ich progge ein wenig in der Schule unter C...dazu nutzen wir Microsoft Visual Studio 6...Unter Linux wurde mir dann kdevelop empfohlen, welches hier auch installiert ist ...

    soweit, so gut...
    starten etc. geht auch alles einwandfrei...
    habt ihr vielleicht ein howto, wie ich nun vom quelltext, bis zur fertigen datei komme?

    THX

  2. #2
    Registrierter Benutzer Avatar von Boron
    Registriert seit
    07.01.2002
    Beiträge
    827
    Projekt -> Neu -> C-Projekt -> Hello world

    Dann programmieren.
    Dann compilieren (Projekt erstellen).
    Dann ausführen (in Konsole, dann siehst du was passiert).
    Gruß Boron (der sich oft wegen mieser Rechtschreibung anderer die Augen reiben muss)

    LINUX IS LIKE AN INDIAN TENT: NO GATES, NO WINDOWS AND AN APACHE INSIDE!
    Hardware Monitoring unter Linux -> http://santafu.sourceforge.net (Temperaturen, Lüfterdrehzahlen und Spannungen)

  3. #3
    VanHelsing
    Gast
    gcc -Wall -o WIEDIEDATEIHEISSENSOLL QUELLTEXT.c

  4. #4
    Registrierter Benutzer
    Registriert seit
    15.12.2004
    Beiträge
    18
    Hm...irgendwie funktioniert das alles nicht wirklich...erstmal zeig euch den den Quelltext, welcher unter Windows in der Schule einwandfrei läuft...dann sollte er es auch unter Linux, oder?

    Code:
    /*Projekt 2004/2005
      DnS GmbH
      Daniels / Schwarz
      Kontaktmanager Deluxe 2005
      Beta v0.1
      Releasetermin: 1. Quartal 2005*/
    
    #include <stdio.h>
    #include <conio.h>
    #include <process.h>
    #include <string.h>
    
    
    
    int eingabe,eingabe2,x=0;
    FILE *Datei;
    FILE *laden;
    char weiter='j';
    
    
    void Version ()
    
    {
    	printf("Kontaktmanager Deluxe 2005\n");
    	printf("Version Beta 0.1\n");
    	printf("DnS GmbH\n");
    	printf("Bitte Taste druecken...");
    	getch();
    }
    
    
    
    void menu ()
    
    {
    	system("cls");
    	printf("(1) Kontakte anzeigen\n");
    	printf("(2) Kontakte hinzufuegen\n");
    	printf("(3) Terminplaner starten\n");
    	scanf("%d",&eingabe);
    
    }
    
    void Terminplaner ()
    
    {
    	system("cls");
    	printf("(1) Kalendar anzeigen\n");
    	printf("(2) Termine hinzufuegen\n");
    	scanf("%d",&eingabe2);
    
    }
    
    void main ()
    
    
    {
    	struct contacts
    {
    	char nachname [20];
    	char Vorname  [20];
    	char Strasse  [20];
    	char Ort	  [20];
    	char PLZ	  [5];
    	char ICQ	  [10];
    	char E_Mail	  [30];    
    	char Telefon  [20];
    
    	
    	
    };
    	contacts kontakt[30],test[30];
    
    	Version();
    	menu();
    
    	switch (eingabe)
    	{
    		case 1:		
    					
    					x=0;
    					while (weiter=='j')
    					{
    					
    					Datei =fopen("Kontakte.txt","r");
    					fread(&test[x],sizeof(contacts),1,Datei);
    					printf("Kontakt Nr. %d\n",x+1);
    					printf("%s\n",test[x].Vorname);
    					printf("%s\n",test[x].nachname);
    					printf("%s\n",test[x].Strasse);
    					printf("%s\n",test[x].PLZ);
    					printf("%s\n",test[x].Ort);
    					printf("%s\n",test[x].Telefon);
    					printf("%s\n",test[x].E_Mail);
    					fclose(Datei);
    					printf("Weiter?(j/n)");
    					scanf("%s",&weiter);
    					x++;
    					}
    			
    					break;
    		case 2:	
    			
    
    				
    					
    					
    					do
    					{
    					Datei = fopen("Kontakte.txt","a");
    					printf("Kontakt Nr. %d\n",x+1);
    					printf("Nachname: ");
    					scanf("%s",&kontakt[x].nachname);
    					printf("\nVorname: ");
    					scanf("%s",&kontakt[x].Vorname);
    					printf("\nStrasse: ");
    					scanf("%s",&kontakt[x].Strasse);
    					printf("\nPLZ: ");
    					scanf("%s",&kontakt[x].PLZ);
    					printf("\nOrt: ");
    					scanf("%s",&kontakt[x].Ort);
    					printf("\nTelefon: ");
    					scanf("%s",&kontakt[x].Telefon);
    					printf("\nE-Mail: ");
    					scanf("%s",&kontakt[x].E_Mail);
    					fwrite(&kontakt[x],sizeof(contacts),1,Datei);
    					fclose(Datei);
    					printf("Weitere Kontakte hinzufuegen?(j/n)");
    					scanf("%s",&weiter);
    					x++;
    					}
    					while (weiter=='j');
    
    			
    				
    				
    			
    				break;
    			
    
    	//	case 3: Terminplaner();break;
    	}
    
    	
    
    }
    So, ich habe das Projekt offen und gehe dann auf "Projekt Erstellen (F8)"...dann kommt ne Meldung mit:
    Code:
    In diesem Verzeichnis ist kein Makefile vorhanden. Soll zuerst 'configure' ausgeführt werden?
    Diese beantworte ich mit "ja"...

    Unten kommt dann folgende Meldung:

    Code:
    cd '/home/dennis/mega_projekt' && LDFLAGS="-T lnkscript crt0.o" CXX=arm-agb-elf-g++ CFLAGS="-nostartfiles" CC=arm-agb-elf-gcc "/home/dennis/mega_projekt/configure" --host=arm-gcc-elf --build=i386 && cd '/home/dennis/mega_projekt' && WANT_AUTOCONF_2_5="1" WANT_AUTOMAKE_1_6="1" gmake -k 
    Installation der Datei -c
    *** Beendet mit Status: 77 ***
    Leider weiß ich nicht genau, wie ich das ganze dann in der Konsole ausführen kann...

  5. #5
    Registrierter Benutzer
    Registriert seit
    04.10.2001
    Ort
    Hamburg
    Beiträge
    61
    Hi,
    ist <conio.h> nicht eine Lib die nur unter Win existiert?
    Ich glaube das Du da erstmal das Linuxteil suchen musst.

    Und void main() ist nun schonlange nicht mehr, die Funktion main
    gibt immer ein int zurück.

    MfG
    sowatt
    Debian Sarge.

  6. #6
    Registrierter Benutzer
    Registriert seit
    15.12.2004
    Beiträge
    18
    Leider habe ich, wie gesagt, das ganze in der Schule unter Windows...also von Linux und C nicht wirklich viel Ahnung, weißt du zufällig, wie die Bibliothek unter Linux heißt?
    Und wie meinst du das mit main?
    So kenne ich es aus der Schule^^

  7. #7
    Registrierter Benutzer
    Registriert seit
    03.04.2002
    Beiträge
    112
    Also du hast die Conio.h ja wegen getch().

    Du kannst auch die ncurses.h unter Linux nutzen, da ist getch() und der ganze kram drin.
    die ncurses-lib ist ein wenig besser als die windows-dinger

    Edit:
    Ich denke, dass du die String.h auch nicht brauchst, weil du ja char-arrays nutzt
    Wofür die process.h ist, weiss ich so grad nicht, aber bei dem Programm kannste die glaub ich auch 'erstmal' weglassen....
    Also nur:
    Code:
    #include <stdio.h>
    #include <ncurses.h>
    Geändert von Matflasch (17-12-2004 um 15:41 Uhr)
    Verteilt die Macht, dass sie keinen mächtig macht!

  8. #8
    Registrierter Benutzer
    Registriert seit
    15.12.2004
    Beiträge
    18
    OK, habe nun nur die beiden Dateien eingebunden, doch wie "starte" ich das programm nun?

  9. #9
    Registrierter Benutzer
    Registriert seit
    03.04.2002
    Beiträge
    112
    KDevelop habe ich nie benutzt, daher kann ich dir da leide nicht weiterhelfen.
    Ich bevorzuge die schon geschriebene Methode:
    Code:
    gcc -Wall -o WIEDIEDATEIHEISSENSOLL QUELLTEXT.c
    Damit kannste dann wenigstens schonmal testen, ob das Programm so funktioniert, dann können die Fehler schonmal mit KDevelop ausgeschlossen werden, die wegen falschen lib etc entstehen.
    Verteilt die Macht, dass sie keinen mächtig macht!

  10. #10
    Registrierter Benutzer
    Registriert seit
    15.12.2004
    Beiträge
    18
    die #include <ncurses.h>
    scheint er aber auch nicht zu kennen, da...

    Code:
    dennis@linux:~/Documents/Schule/PRG/Projekt> gcc -Wall -o blubb main.c
    main.c:9:21: ncurses.h: Datei oder Verzeichnis nicht gefunden
    main.c: In function `Version':
    main.c:26: warning: implicit declaration of function `getch'
    main.c: In function `menu':
    main.c:34: warning: implicit declaration of function `system'
    main.c: At top level:
    main.c:55: warning: return type of `main' is not `int'
    main.c: In function `main':
    main.c:70: error: `contacts' undeclared (first use in this function)
    main.c:70: error: (Each undeclared identifier is reported only once
    main.c:70: error: for each function it appears in.)
    main.c:70: error: parse error before "kontakt"
    main.c:84: error: `test' undeclared (first use in this function)
    main.c:111: error: `kontakt' undeclared (first use in this function)

  11. #11
    Administrator Avatar von anda_skoa
    Registriert seit
    17.11.2001
    Ort
    Graz, Österreich
    Beiträge
    5.477
    Am besten du lässt das vorerstmal weg, hat ja nichts wichtiges im Programm zu tun.

    Vermutlich ist aber nur das -devel Paket von ncurses nicht installiert.

    Ciao,
    _
    Qt/KDE Entwickler
    Debian Benutzer

  12. #12
    Registrierter Benutzer
    Registriert seit
    15.12.2004
    Beiträge
    18
    Hast Recht, das -devel paket war nicht installiert...
    ich werde wohl in SciTE proggen...verwenden wohl noch mehr ausm Jahrgang...

  13. #13
    Registrierter Benutzer
    Registriert seit
    13.12.2004
    Beiträge
    15
    Code:
    system("cls");
    Dieser Befehl gibt es glaube ich nur unter DOS!?

    Liebe Grüße
    Reality

  14. #14
    Registrierter Benutzer
    Registriert seit
    17.04.2002
    Beiträge
    185
    Zitat Zitat von Reality
    Code:
    system("cls");
    Dieser Befehl gibt es glaube ich nur unter DOS!?
    ja, und ein system Aufruf für sowas ist auch nicht unbedingt eine saubere Sache.
    Ein einfaches printf("\ec"); ist da die bessere Methode.

    Wegen ncurses, du mußt beim kompilieren auch gegen ncurses linken:
    gcc main.c -lncurses

    Allerdings mußt du dann auch mit ncurses arbeiten, ein printf geht dann nicht mehr so ohne weiteres. Näheres zu ncurses: http://www.go.dlr.de/linux/LDP/HOWTO...WTO/index.html
    Deswegen würde ich dir wie anda_skoa empfehlen das erstmal weg zu lassen.


    zu main:
    Es gehört schon lange zum C-Standard, das main einen int Wert zurück gibt. Es gehört zum gutem Ton eines Programmes, dass es dem Betriebssystem sagt wie es beendet wurde, bei erfolgreichem Ende gibt man eine 0 zurück.
    Geändert von BeS (17-12-2004 um 18:26 Uhr)

    For a world where freedom and knowledge survives the compiler! (https://www.fsfe.org)

    If art interprets our dreams, the computer executes them in the guise of programs!

  15. #15
    Registrierter Benutzer
    Registriert seit
    03.04.2002
    Beiträge
    112
    zu main:
    Es gehört schon lange zum C-Standard, das main einen int Wert zurück gibt. Es gehört zum gutem Ton eines Programmes, dass es dem Betriebssystem sagt wie es beendet wurde, bei erfolgreichem Ende gibt man eine 0 zurück.
    Ja das ist immer so ne Sache. Es geöhrt sich schon mit der Rückgabe. VIsual C++, also das Studio macht immernoch void main...
    Verteilt die Macht, dass sie keinen mächtig macht!

Lesezeichen

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •