Witam, uczę się korzystania z nagłówków w C++, ale napotkałem problem. Pliki programu znajdują się w jednym folderze, kompiluję je g++, a następnie tworzę plik wykonywalny za pomocą Geany: g++ -Wall -o "%e" "%f", ale pojawia się błąd linkera:
g++ -Wall -o "main" "main.cpp" (w katalogu /home/michal/Pulpit/Nowy)
/tmp/ccPhPzET.o: In function `main':
main.cpp:(.text+0x65): undefined reference to `mod(int)'
collect2: ld returned 1 exit status
Kompilacja nie powiodła się
main.cpp
#include<iostream>
#include"naglowek.hpp"
using namespace std;
int main()
{
int a;
cout<<"Podaj liczbe: "<<endl;
cin>>a;
cout<<"a = "<<a<<endl;
cout<<"|a| = "<<mod(a)<<endl;
return 0;
}
naglowek.hpp
#ifndef naglowek_hpp
#define naglowek_hpp
#endif
int mod(int);
naglowek.cpp
#include"naglowek.hpp"
int mod(int liczba)
{
return liczba>0 ? liczba : -liczba;
}