Announcement

Collapse
No announcement yet.

Anfaengerproblem: Kompilierung von C (nicht C++)

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Anfaengerproblem: Kompilierung von C (nicht C++)

    Hallo zusammen,
    ich bin wirklich ein absoluter Neuling und habe eine Kompilierungsfrage:

    Ich habe den Quellcode und die zugehörigen Bibliotheken/Header für ein C-Programm erhalten. Diesen Code kann ich leider nicht auf "Dev-C++" (neueste Version) kompilieren. Der Autor sagte allerdings, dass er mit dem "Microsoft C-Compiler" (im Jahr 2005) kompiliert habe.

    Nun habe ich "Microsoft Visual C++ 2005 Express Edition" heruntergeladen. Dann habe ich ein neues Projekt erstellt, und als neue Datei meine C-Quelldatei eingefügt. Nun kann ich es allerdings nicht als C-Programm (oder Anwendung) kompilieren.

    Was ist zu tun?

    Hier noch der Fehlercode des Dev-C++ Compilers (Pfad- und Dateinamen zwecks Übersichtlichkeit ersetzt). Dabei ist zu beachten, dass das Forum den Anfang von ")ATEI.c:" leider als Smiley interpretiert. Daher habe ich den Doppelpunkt nach den ersten fünf Zeilen entfernt:

    Compiler: Default compiler
    Führt gcc.exe... aus
    gcc.exe "PFAD\DATEI.c" -o "PFAD\DATEI.exe" -I"C:\Dev-Cpp\include" -L"C:\Dev-Cpp\lib"
    In file included from PFAD\DATEI.c:15:
    PFAD\/nrutil.h:79:26: warning: no newline at end of file

    TEMPPFAD/ccABbaaa.o(.text+0x8a7)ATEI.c: undefined reference to 'dvector'
    TEMPPFAD/ccABbaaa.o(.text+0x123d)ATEI.c: undefined reference to 'dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x1265)ATEI.c: undefined reference to 'dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x128d)ATEI.c: undefined reference to 'dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x12b5)ATEI.c: undefined reference to 'dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x12dd)DATEI.c: undefined reference to 'dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x1305)DATEI.c: more undefined references to 'dmatrix' follow
    TEMPPFAD/ccABbaaa.o(.text+0x1328)DATEI.c: undefined reference to 'dvector'
    TEMPPFAD/ccABbaaa.o(.text+0x1341)DATEI.c: undefined reference to 'dvector'
    TEMPPFAD/ccABbaaa.o(.text+0x136c)DATEI.c: undefined reference to 'dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x1398)DATEI.c: undefined reference to 'dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x13a1)DATEI.c: undefined reference to 'idum'

    TEMPPFAD/ccABbaaa.o(.text+0x1550)DATEI.c: undefined reference to 'idum'
    TEMPPFAD/ccABbaaa.o(.text+0x1555)DATEI.c: undefined reference to 'gasdev'
    TEMPPFAD/ccABbaaa.o(.text+0x155f)DATEI.c: undefined reference to 'idum'
    TEMPPFAD/ccABbaaa.o(.text+0x1564)DATEI.c: undefined reference to 'gasdev'

    TEMPPFAD/ccABbaaa.o(.text+0x1571)DATEI.c: undefined reference to 'idum'
    TEMPPFAD/ccABbaaa.o(.text+0x1576)DATEI.c: undefined reference to 'gasdev'
    TEMPPFAD/ccABbaaa.o(.text+0x1f57)DATEI.c: undefined reference to 'max'
    TEMPPFAD/ccABbaaa.o(.text+0x232b)DATEI.c: undefined reference to 'moment'
    TEMPPFAD/ccABbaaa.o(.text+0x24a7)DATEI.c: undefined reference to 'moment'
    TEMPPFAD/ccABbaaa.o(.text+0x2667)DATEI.c: undefined reference to 'moment'
    TEMPPFAD/ccABbaaa.o(.text+0x2693)DATEI.c: undefined reference to 'free_dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x26bf)DATEI.c: undefined reference to 'free_dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x26eb)DATEI.c: undefined reference to 'free_dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x2717)DATEI.c: undefined reference to 'free_dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x2743)DATEI.c: undefined reference to 'free_dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x276f)DATEI.c: more undefined references to 'free_dmatrix' follow
    TEMPPFAD/ccABbaaa.o(.text+0x27c6)DATEI.c: undefined reference to 'free_dvector'
    TEMPPFAD/ccABbaaa.o(.text+0x27e3)DATEI.c: undefined reference to 'free_dvector'
    TEMPPFAD/ccABbaaa.o(.text+0x2812)DATEI.c: undefined reference to 'free_dmatrix'
    TEMPPFAD/ccABbaaa.o(.text+0x2c74)DATEI.c: undefined reference to 'free_dvector'
    collect2: ld returned 1 exit status

    Ausführung beendet

    Vielen Dank für Eure Hilfe und sorry für die (wahrscheinlich) blöde Frage!

  • #2
    3 Gedanken, ohne den Source zu kennen.
    1. Projekt evt. als Konsolenanwendung erstellen
    2. Include und Libpfade korrekt setzen
    3. evtl in der .h alles mit extern "C" klammern ( Fehlermeldungen sehen danach aus )

    mfg
    Fred

    Comment

    Working...
    X