Что то я не понимаю.
Есть у меня программа. Я разбил ее на модули. Что бы в программе было проще разобраться, у каждого модуля есть заголовочный файл. В нем описываются классы, структуры, заголовки функций. В самом модуле реализация - методы и определение функций.
Допустим у меня в модуле несколько функций. Тогда все это должно выглядеть следующим образом:
bash-2.05b$ cat ./test.cpp
#include <stdio.h>
#include "test.h"
void func1(int i){
//something
}
bool func2(int *i){
//something
return true;
}
bash-2.05b$ cat ./test.h
void func1(int i);
bool func2(int *i);
bash-2.05b$ cat ./main.cpp
#include "test.h"
int main(){
int *i = 0;
func1(0);
func2(i);
return 0;
}
Только вот при компиляции вылезает совсем что-то страшное:
bash-2.05b$ gcc ./main.cpp
/tmp/ccaoku0u.o(.text+0x1f): In function `main':
: undefined reference to `func1(int)'
/tmp/ccaoku0u.o(.text+0x2a): In function `main':
: undefined reference to `func2(int*)'
/tmp/ccaoku0u.o(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'
collect2: ld returned 1 exit status
Посоветуйте статью, рассказывающую о структурах программ, этих подходах...
Синтаксис C и C++ я знаю, но таких элементарных вещей нет...