WinFuture-Forum.de: C - Externe .c Datei Einbinden - WinFuture-Forum.de

Zum Inhalt wechseln

Nachrichten zum Thema: Entwicklung
Seite 1 von 1

C - Externe .c Datei Einbinden


#1 Mitglied ist offline   I3lack0ut 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.047
  • Beigetreten: 14. Oktober 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart

geschrieben 31. Mai 2008 - 10:12

Hallo,

ich ärgere mich gerade mit C und zwar möchte ich einfach aus meinem Programm heraus ein Unterprogramm aufrufen, dessen Code in einer anderen .c Datei steht.

Folgendes Testszenario funktioniert nicht:

//file test.c

#include <stdio.h>
//#include <nichthier.c>

extern void nichthier(int a);

int main(void){
	int a = 1;
	nichthier(a);
	return 0;
}


//file nichthier.c

#include <stdio.h>

void nichthier(int a){
	printf("%d\n",a);
}


Wenn ich dann den Compiler starte:
gcc -o "test" "test.c"


Erhalte ich immer die Fehlermeldung:
undefined reference to '_nichthier'


Weiß jemand Rat?
Never run a changing system.
Micro Game Reviews (Mein Blog)
0

Anzeige



#2 Mitglied ist offline   I3lack0ut 

  • Gruppe: aktive Mitglieder
  • Beiträge: 2.047
  • Beigetreten: 14. Oktober 03
  • Reputation: 0
  • Geschlecht:Männlich
  • Wohnort:Stuttgart

geschrieben 31. Mai 2008 - 10:21

Fehler gefunden, war natürlich ganz simpel. Das Programm muss dann so kompiliert werden:

gcc -o "test"  "test.c" "nichthier.c"


:)
Never run a changing system.
Micro Game Reviews (Mein Blog)
0

#3 Mitglied ist offline   Der Kenner 

  • Gruppe: aktive Mitglieder
  • Beiträge: 574
  • Beigetreten: 30. Januar 05
  • Reputation: 0

geschrieben 31. Mai 2008 - 17:35

Wobei man üblicherweise die Funktionsprototypen in eine Headerdatei exportiert. In deiner "nichthier.h" würde dann nur "void nichthier(int a);" stehen.
0

Thema verteilen:


Seite 1 von 1

1 Besucher lesen dieses Thema
Mitglieder: 0, Gäste: 1, unsichtbare Mitglieder: 0