Buenas, estoy programando en c++ y quiero hacerlo de forma modular, para ello uso ficheros de cabecera .h y de implementación .cpp además del main. Estos son los tres archivos que estoy probando:
-----------------------------------------------------------------------------------
main.cpp:
#include <stdio.h>
#include "hola.h"
int main()
{
escribeHola();
return 0;
}
-----------------------------------------------------------------------------------
hola.h:
#ifndef hola_H
#define hola_H
void escribeHola();
#endif
-----------------------------------------------------------------------------------
hola.cpp:
#include "hola.h"
void escribeHola()
{
cout << "Hola\n";
}
-----------------------------------------------------------------------------------
compilo primero hola.h sin problemas. Cuando compilo hola.cpp me salta este error:
/usr/lib/i386-linux-gnu/gcc/i686-linux-gnu/4.5.2/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
Y cuando compilo main.cpp este:
/tmp/ccFMfxVT.o: In function `main':
main.cpp:(.text+0x7): undefined reference to `escribeHola()'
collect2: ld returned 1 exit status
¿Cómo lo soluciono?
Gracias!!