Anzeige:
Ergebnis 1 bis 4 von 4

Thema: C-Projekt in KDevelop

  1. #1
    Registrierter Benutzer
    Registriert seit
    17.01.2004
    Ort
    Kornwestheim
    Beiträge
    19

    C-Projekt in KDevelop

    Hallo,

    mit IDEs wie Eclipse oder auch dem VisualStudio.NET bin ich einigermaßen vertraut, jetzt würde mich mal KDevelop interessieren.

    Ich wollte mit einem ganz einfachen C-Programm beginnen. Project --> New --> Terminal --> C hat mir dann auch ein Projekt mit jeder Menge Dateien angelegt und den vier Verzeichnissen admin/, autom4te.cache/, skel/ und templates/.

    Unterhalb von skel/ finde ich dann auch eine Datei, die ich für die Quelltextdatei halte. Sie heißt main.c, wurde automatisch angelegt und gibt nur den String "Hello World" aus. Das Projekt hätte ich jetzt gerne gestartet, aber irgendwie will es nicht klappen.

    Configure läuft noch sauber durch, doch ein anschließendes make spuckt die Fehlermeldung aus:

    Code:
    Makefile.am:6: invalid unused variable name: `_SOURCES' 
    Makefile.am:7: invalid unused variable name: `_LDADD' 
    make[1]: *** [Makefile.in] Error 1 
    make[1]: Leaving directory `/home/daniel/c-projekt' 
    make: *** [all] Error 2 
    *** failed ***
    In Makefile.am (im Hauptverzeichnis, nicht unter skel/) finden sich dann auch die beiden folgenden Zeilen:

    Code:
    _SOURCES = 
    _LDADD   = skel/libskel.a
    Wenn ich die auskommentiere und make erneut aufrufe, läuft es ohne Fehler durch.

    Ein anschließendes EXECUTE bringt aber nicht "Hello World" auf die Konsole, sondern nur ein

    Code:
    bash: line 1: ./: is a directory
    Da ich nicht weiß wo die kompilierte Datei main (wenn sie so heißt) liegt, vermute ich einfach mal, KDevelop macht bei EXECUTE einfach ein ./ im Hauptverzeichnis des Projekts und verursacht so den Fehler.

    Wie kann ich KDevelop sagen, dass main.c die Quelltextdatei ist? Wenn ich einen Rechtsklick auf main.c mache und "Add File To Project ..." klicke, steht dahinter zwar ein "registered", aber ein erneutes configure und make bringt denselben Fehler bei EXECUTE.

    Muss ich manuell in den Makefiles noch was ändern? Kann ich mir aber bei einer IDE wie KDevelop nicht wirklich vorstellen ... kann mir jemand einen Tip geben? Vielen Dank schonmal.
    Bubble
    There are only 10 kinds of persons in this world - those who understand binary and those who don't.

  2. #2
    Registrierter Benutzer Avatar von undefined
    Registriert seit
    01.03.2004
    Beiträge
    1.255
    Welche Distribution?
    Die Fehler Meldung die du bekommst ist auch richtig weil Downspaces eigentlich zu Begin einer Varaiable nicht konform sind.
    Beim erstellen deines Projektes ist dieser Fehler aufgetreten, kann sein das dein Kdevelope einen Bug beim erstellen von Projekten hat.
    Ein Makefile.am sollte in etwa so aussehen.
    Das Beispiel Projekt heist "hello"
    Code:
    bin_PROGRAMS = hello
    hello_SOURCES = hello.c
    # set the include path found by configure
    INCLUDES= $(all_includes)
    # the library search path.
    hello_LDFLAGS = $(all_libraries)

  3. #3
    Registrierter Benutzer
    Registriert seit
    17.01.2004
    Ort
    Kornwestheim
    Beiträge
    19
    Hallo undefined,

    ich benutze KDevelop 2.1.5 unter KDE 3.2.3 auf einem Debian SID mit Kernel 2.4.20.

    Ich hab die Unterstriche vor den Variablennamen mal entfernt, hat aber nichts genützt.

    Dann hab ich gesehen dass die Variable bin_PROGRAMS nicht gesetzt war und hab sie auf "main" gesetzt (da ja die Quellcode-Datei auch main.c heißt). Der Beginn des Makefiles ist jetzt:

    Code:
    ####### kdevelop will overwrite this part!!! (begin)##########
    bin_PROGRAMS = main
    
    INCLUDES = $(all_includes)
    
    SOURCES = skel/main.c
    LDADD   = skel/libskel.a
    Wenn ich danach erneut configure und dann make aufrufe bringt make diese Fehlermeldung:

    Code:
    make all-am 
    make[1]: *** No rule to make target `main.c', needed by `main.o'. Stop. 
    make[1]: Entering directory `/home/daniel/c-projekt' 
    make[1]: Leaving directory `/home/daniel/c-projekt' 
    make: *** [all] Error 2 
    *** failed ***
    Ich kenn mich ein bißchen mit Makefiles und dem Konzept aus, aber das hier übersteigt meinen Horizont und ich fürchte ich muss mich erst neu einlesen. Warum muss er main.c 'erstellen', die gibt es doch schon?!? Ich weiß noch nicht mal in welcher Datei ich anfangen muss zu suchen ...

    Naja trotzdem mal danke für deine Hilfe, ein bißchen weiter bin ich ja schon, auch wenn ich nicht weiß warum ich die Makefiles in einer IDE noch von Hand editieren muss ...
    Bubble
    There are only 10 kinds of persons in this world - those who understand binary and those who don't.

  4. #4
    Registrierter Benutzer
    Registriert seit
    29.10.2003
    Ort
    Bayern
    Beiträge
    70
    währe es möglich

    OBJECTS = skel/main.o

    oder

    OBJEXT = skel/main.o

    hinzuzufügen ?

    ist nur nen bsp. ich kenn mich nur wenig mit makefiles aus

    gruß
    Alexander
    Geändert von ChMaster|LFreak (08-07-2004 um 21:28 Uhr)

Lesezeichen

Berechtigungen

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