Compilerproblem



  • Hey Leute das heutige Problem hat eher weniger etwas direkt mit dem Inhalt eines Programms zu tun sondern mit einem Compilerproblem

    hier die Fehlermeldung des Compilers und leider weiß ich auch nicht welcher Compiler benutzt wird

    ld: fatal: symbol `main' is multiply-defined:
        (file /var/tmp//ccegeyUY.o type=FUNC; file /var/tmp//ccYFqFqz.o type=FUNC);
    

    da mein compiler ( gcc ) nichts sagt steh ich grad wie der Ochs vorm berg und hab keine ahnung was genau ich jetzt falsch gemacht hab

    Dies ist die headerdatei

    nicht schön aber es tut was es soll 😉

    #ifndef strop3_h
    #define strop3_h
    
    /*    if |b1|+|b2| < bl1
            appends the character sequence stored in b2 to that contained in buffer b1
            returns |b1|+|b2|
        otherwise
            b1 remains unchanged
            returns -1
    */
    int concat(char *b1, int bl1, char *b2)
    {
    
     int i,lenb1,lenb2,a,laengeb1;
    
     lenb2=0;
    
     //länge b1 bestimmen
    
    lenb1=0;
    
    for(i=0; i < 5000; i++){
                lenb1++;
    
                    if (b1[i] =='\0'){
                        i=5000;}
    
                }
    
    //länge b2 bestimmen
    bl1=10;
    
       for(i=0; i < 5000; i++){
                lenb2++;
    
                    if (b2[i] == '\0'){
                        break;}
    
                }
    
    a=0;
    
    // B2 in B1 schreiben
    
    laengeb1=(lenb1-1)+(lenb2-1);
    
    //printf ("\ndies ist die maximallaenge des ersten Feldes : %i\n", bl1);
    
    if (laengeb1<bl1)
    {
    
    printf ("\ndies ist die laenge von b1 : %i \n",laengeb1);
    
    for (i=lenb1-1 ; i<laengeb1 ; i++)
    {
    b1[i] = b2[a] ;
    a++;
    }
    
    }
    else
    {  
    printf ("\nZeichenkette zu lang");
    return -1;
    }
    return 0;
    }
    
    #endif
    

    und das dazugehörige hauptprogramm

    # include "stdio.h"
    # include "stdlib.h"
    # include <ctype.h>
    
    # include "strop3.h"
    
    int main()
    {
    int bl1,c,l2,i,d,o;
    bl1 = 5000;
    i = 0;
    l2=5000;
    char b1[bl1],b2[l2];
    
    bl1=100;
    printf ("Gib die erste Zeichenkette ein\n");
    
    // erste Zeichenkette
    for (i=0;i<5000;i++)
    {
    
    c = getchar();
    
    if (isspace(c) != 0 ){
    b1[i] = '\0';
    
    break;}
    
    b1[i] = c;
    }
    
    b1[i]='\0';
    
    // zweite Zeichenkette
    printf ("Gib die zweite Zeichenkette ein\n");
    
    for (o=0;o<5000;o++)
    {
    
    d = getchar();
    
    if (isspace(d) != 0 ){
    b2[o] = '\0';
    
    break;}
    
    b2[o] = d;
    }
    
    // Aufruf der Funktion
    concat (b1,bl1,b2);
    
    if (concat != 0);
    {
    printf("\nin b1 enthaltene Zeichenkette : %s \n", b1);
    }
    }
    


  • -.- Scherzkeks.



  • Firefighter schrieb:

    -.- Scherzkeks.

    Ist das die Lösung?

    Blödmann, also echt mal...



  • ince1 schrieb:

    Firefighter schrieb:

    -.- Scherzkeks.

    Ist das die Lösung?

    Blödmann, also echt mal...

    Scherzkeks.
    Es ist immer noch nicht C#.
    Auch wenn Du noch auf bleibst und gegen halb drei nochmal postest, wird es nicht C# werden. Und ich kanns nicht nach C verschieben und Du auch nicht.



  • ince1 schrieb:

    ld: fatal: symbol `main' is multiply-defined:
        (file /var/tmp//ccegeyUY.o type=FUNC; file /var/tmp//ccYFqFqz.o type=FUNC);
    

    steht doch da ... Du hast 2x int main() angegeben ... entscheide Dich welche variante Du willst und lösche die andere



  • Also Fragen posten will auch gekonnt sein. Hier der gleiche Beitrag ne Stunde vor diesem erstellt und gleich drauf hingewiesen worden das es im falschen Forum ist. Und wo wird das neue Thema erstellt, wieder im gleichen falschen Forum...



  • Dieser Thread wurde von Moderator/in Unix-Tom aus dem Forum C# und .NET in das Forum ANSI C verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.


Anmelden zum Antworten