Hitno mi je potrebna pomoc. Radim jedan program koji kada razdvojim ne radi, tj. kada kompajliram u main dijelu ne pronalazi .h dio i ne prevodi program.
projekat.cpp
#include<iostream>
#include <stdlib.h>
#include <pravougaonik.h>
using namespace std;
main(){
Pravougaonik P;
....
pravougaonik.cpp
#include<iostream>
#include <pravougaonik.h>
using namespace std;
Da li je projekat.cpp u istom folderu u kome je i pravougaonik.h? Da li je pravougaonik.cpp u istom folderu u kome je i pravougaonik.h? Šta se desi ako ukineš #ifndef i #define u pravougaonik.h? Da li se pravougaonik.h zaista zove tako (možda imaš štamparsku grešku)?
Svi file-ovi su istom folderu. Provjerio sam nazive i dobro su napisani. Kada obrisem #ifndef i #define nista se ne mijenja.
Kada su svi dijelovi u istom file-u program radi bez problema.
Sada sam napisao #include "pravougaonik.h" i vise ne javlja problem od ranije.
Sada za svaku f-ju koju pozivam iz #include "pravougaonik.cpp" u glavnom programu javlja
[Linker error] undefined reference to `Pravougaonik::setDuzina()'
Sve funkcije sam napisao i one se nalaze u tom file-u. Problem je sto kompajler nikako ne povezuje sve file-ove. Ista poruka se javlja za sve f-je a ja sam kopirao samo za jednu.
U kom C++ okruženju ti ovo praviš? Nedostaje neki fajl. Recimo u Microsoft Visual C++, morao bi da imaš i jedan .sln i jedan .vcproj fajl. Ja sam napravio prazan projekat u VC++ i ubacio ova tri fajla, i lepo se napravilo. Morao sam doduše da dodam int kod main, jer main funkcija mora da vraća int, ali posle se lepo izbildovalo, i izvršilo.