Ich möchte mir die Modularisierung in C etwas näher bringen.
Ich habe folgenden Versuch gemacht um es etwas besser zu verstehen. Komme aber leider nicht zu meinem Ziel
Ich habe für das modul einen Ordner "modules" angelegt.
In diesem Ordner modules sind enthalten
test.c
test.h
und im Hauptordner ist die Hauptdatei enthalten
main.c
das Modul compile ich mit
funktioniert ohne fehler
die Hauptdatei compile ich mit
Den header test.h findet er, da er kein Fehler deshalb ausgibt, davon geh ich mal aus, dass das an sich funktioniert, allerdings habe ich folgenden compiler fehler
Ich verstehe leider nicht an was das liegt. Hilfe wäre wirklich super.
Danke
Ich habe folgenden Versuch gemacht um es etwas besser zu verstehen. Komme aber leider nicht zu meinem Ziel
Ich habe für das modul einen Ordner "modules" angelegt.
In diesem Ordner modules sind enthalten
test.c
Code:
#include "test.h"
int func1(int x)
{
return x;
}
test.h
Code:
#ifndef TEST_H
#define TEST_H
extern int func1(int x);
#endif
und im Hauptordner ist die Hauptdatei enthalten
main.c
Code:
#include <stdlib.h>
#include <test.h>
int main()
{
int test = func1(4);
return 0;
}
das Modul compile ich mit
Code:
cc -c -Wall test.c
die Hauptdatei compile ich mit
Code:
gcc -Imodules -o main main.c
Den header test.h findet er, da er kein Fehler deshalb ausgibt, davon geh ich mal aus, dass das an sich funktioniert, allerdings habe ich folgenden compiler fehler
Code:
gcc -Imodules -o main main.c
/tmp/ccWIyNhi.o: In function `main':
main.c:(.text+0xe): undefined reference to `func1'
collect2: ld returned 1 exit status
Ich verstehe leider nicht an was das liegt. Hilfe wäre wirklich super.
Danke