Op deze website gebruiken we cookies om content en advertenties te personaliseren, om functies voor social media te bieden en om ons websiteverkeer te analyseren. Ook delen we informatie over uw gebruik van onze site met onze partners voor social media, adverteren en analyse. Deze partners kunnen deze gegevens combineren met andere informatie die u aan ze heeft verstrekt of die ze hebben verzameld op basis van uw gebruik van hun services. Meer informatie.

Akkoord

Vraag & Antwoord

Programmeren

linker error in C (niet ++)

Anoniem
20010196dacier
6 antwoorden
  • ik heb een programma met 1 main.C file, 1 func.C file(waar al mijn functies/procedures in staan) en een prog.H file, waar alle prototypes in staan.
    Nu open ik (lees: maak ik een nieuwe) project file en laat deze compileren.
    Hierop hangt mijn programma vast, en krijg ik de volgende foutmelding:
    Linker error: Undefined symbol in _initaliseren(mijn eerste functie) in module main.C
    Deze foutmelding krijg ik precies even vaak als het aantal functies wat ik heb in mijn programma.

    Het meest vreemde hieraan is dat als ik PRECIES DEZELFDE bestanden op school compileer, het programma (ook hetzelfde) absoluut geen fouten geeft en mijn programma vlekkeloos loopt.

    wie kan mij zeggen wat er fout is??

    alain dacier
  • ik heb een programma met 1 main.C file, 1 func.C file(waar al mijn functies/procedures in staan) en een prog.H file, waar alle prototypes in staan.
    Nu open ik (lees: maak ik een nieuwe) project file en laat deze compileren.
    Hierop hangt mijn programma vast, en krijg ik de volgende foutmelding:
    Linker error: Undefined symbol in _initaliseren(mijn eerste functie) in module main.C
    Deze foutmelding krijg ik precies even vaak als het aantal functies wat ik heb in mijn programma.

    Het meest vreemde hieraan is dat als ik PRECIES DEZELFDE bestanden op school compileer, het programma (ook hetzelfde) absoluut geen fouten geeft en mijn programma vlekkeloos loopt.

    wie kan mij zeggen wat er fout is??

    alain dacier

    hoe probeer je te compileren, welke compilers heb je tot je beschikking, en wat voor een functies heb je?

    ook, maak je gebruik van objectfiles of compile je gelijk naar een executable?
  • ja, das een goede vraag,

    ik gebruik het programma Borland C(++) for DOS (nogal oud dus), ik heb geen flauw id wat voor compiler ik gebruik(hoe kom ik daarachter?).
    Ik doe voor te compileren ctrl+F9, maar ook met de "make" optie in het menu krijg ik dezelfde foutmelding.
    wat voor soort functies ik gebruik…ik begrijp de vraag niet helemaal, maar hier heb je een voorbeeld:

    void bordleegmaken(tBord *pBord, int Aantal){
    int i,j;

    for(i=0;i<Aantal;++i)
    for(j=0;j<Aantal;++j)
    (*pBord).Bord[j] = '-';
    }

    Volgens mij maak ik objectfiles, want deze staan in de map waar ook mijn C source staat, en er is geen exe te vinden.
  • Kun je misschien de precieze foutmelding(en) kopieren?
  • ¦Linking PRJOPDR2.EXE
    ¦ Linker Error: Undefined symbol _fichedraaien in module MAIN.C
    ¦ Linker Error: Undefined symbol _bordvol in module MAIN.C
    ¦ Linker Error: Undefined symbol _bordtonen in module MAIN.C
    ¦ Linker Error: Undefined symbol _bordopstellen in module MAIN.C
    ¦ Linker Error: Undefined symbol _bordleegmaken in module MAIN.C

    dit is de foutmelding, meer staat er niet bij,
    de namen fichedraaien, bordvol enz. zijn de namen van de procedures
    ps. het is toch blijkbaar toch een exe wat ik ga maken en geen obj…ik snap het niet meer
  • Heb je de tweede file (func.c) ook in het project gezet?
    Wordt deze goed gecompileerd?

Beantwoord deze vraag

Dit is een gearchiveerde pagina. Antwoorden is niet meer mogelijk.