Pliki nagłówkowe

0

Nie mam doświadczenia z pracą z modułami, więc to pewnie jakiś głupi błąd. Załóżmy, że mamy główny plik programu a.c:
#include "b.h"
int main()
{
Test();
}
Plik b.c, w którym jest funkjca Test:
void Test()
{
...
}
oraz plik nagłówkowy b.h:
extern void Test();

I jak kompiluję a.c to taki komunikat:
Linker Error: Undefined symbol test() in module a.c

A teraz pytanie: co za głupotę robię, że to mi nie działa?

0

Aby w pliku a.c widoczne były importowane pliki z b.c musisz połączyć je w projekt (tak samo, jak w C++Builder).

  1. Z menu Project wybierasz Open
  2. Wpisujesz nazwę projektu
  3. W nowym oknie tego projektu dodajesz dwa pliki: a.c i b.c
  4. Kompilujesz :-)
0

Ja osobiście BARDZO nie lubie externów , i polecam zamiast stosować externy pisanie po prostu prosto z mostu :
#include "b.c"
a cały plik b.h z externem w środku sobie darować . Wg mnie jest to o wiele łatwiejsze i wygodniejsze , a w sumie efekt jest identyczny . Ale z drugiej strony , jest tylko jeden problem ,przy pisaniu dużych projektów , załużmy pracuje 2 informatyków , jeśli stosują extern to mogą spokojnie kompilować swoje programy bez potrzeby posiadania części programu pisanej przez 2 osobe , a jak stosują #include to żaden z nich nie będzie mógł samodzielnie kompilować programu , tylko będzie musiał jakoś kombinować . Co o tym myślicie ?? Jakie są za i przeciw ??

1 użytkowników online, w tym zalogowanych: 0, gości: 1