E
erinus
Grünschnabel
Hallo,
ich (Neuling in Sachen C) untersuche gerade, wie das ist, wenn man den Code auf mehrere Dateien verteilt. Und prompt bleibe ich hängen. Der Compiler meldet "undefined reference" in main, und zwar auf printadr. Wahrscheinlich ist es nur eine kleine Macke, aber ich finde sie nicht. Tut mir leid, dass ich den kompletten Testcode wiedergeben muss, aber ich habe ihn so kurz gefasst wie möglich:
Was ist falsch?
Gruß,
Reinhard
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
pardon, da ist leider das falsche Makefile reingerutscht. Es heißt dort natürlich adr.o und nicht unit.o.
ich (Neuling in Sachen C) untersuche gerade, wie das ist, wenn man den Code auf mehrere Dateien verteilt. Und prompt bleibe ich hängen. Der Compiler meldet "undefined reference" in main, und zwar auf printadr. Wahrscheinlich ist es nur eine kleine Macke, aber ich finde sie nicht. Tut mir leid, dass ich den kompletten Testcode wiedergeben muss, aber ich habe ihn so kurz gefasst wie möglich:
Code:
------ Header main.h ------------------
#ifndef MAIN_H
#define MAIN_H
#include <stdio.h>
#define name "Siggi Supertroll"
#endif
------ Hauptprogramm main.c -----------
#include "main.h"
#include "adr.h"
int main () {
printadr ();
}
------ Header adr.h -------------------
#ifndef ADR_H
#define ADR_H
#include "main.h"
#define plz "33333"
#define ort "Trollheim"
void printadr ();
#endif
------- adr.c ---------------------
#include "adr.h"
void printadr () {
printf (name "\n" plz " " ort "\n");
}
------ Makefile -------------
all : adresse main.o unit.o
adresse : main.c
gcc -o adresse main.c
main.o : main.c
gcc -c main.c
unit.o : unit.c
gcc -c unit.c
Was ist falsch?
Gruß,
Reinhard
.
.
.
EDIT (autom. Beitragszusammenführung) :
.
pardon, da ist leider das falsche Makefile reingerutscht. Es heißt dort natürlich adr.o und nicht unit.o.
Zuletzt bearbeitet: