DarkAnsem
03-04-2011, 14:00
Buongiorno ragazzi, mi sto preparando all'esame di fondamenti di informatica 1 di ingegneria elettronica sul c++, utilizzo il libro Fondamenti di C++ di Cay Horstmann.
ho riscontrato dei problemi nel capitolo 3, per poter creare i programmi grafici, mi sono scaricato il file zip dal sito del libro, il file codice.zip, questo zip contiene i codici di tutti i programmi di esempio del libro, gli header e le librerie grafiche create per l'occasione, solamente non funziona, vi spiego, ho messo nella cartella include di codeblocks (programma che devo utiizzare per il corso e l'esame) tutti gli header .h e i file .cpp(dovrebbero essere le librerie compilate dei file .h) contenuti nella cartella cccfiles del file zip codice.zip
però ho un problema con l'header ccc_win.h che è l'unico che non ha il suo corrispettivo ccc_win.cpp e non so per quale motivo qualsiasi programma di esempio che sta sul libro che utilizza questo header ripetendolo su codeblocks non funziona.
il programma è:
#include "ccc_win.h"
int ccc_win_main()
{
Point p(1, 3);
Point q = p;
Point r = p;
q.move(0, 1);
r.move(1, 0);
Line s(p, q);
Line t(p, r);
cwin << s << t;
s.move(1, 0);
t.move(0, 1);
cwin << s << t;
return 0;
}
questo programma dovrebbe raffigurare un quadrato invece crea i seguenti errori di compilazione:
obj\Debug\main.o||In function `Z12ccc_win_mainv':|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|7|undefined reference to `Point::Point(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|10|undefined reference to `Point::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|11|undefined reference to `Point::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|12|undefined reference to `Line::Line(Point, Point)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|13|undefined reference to `Line::Line(Point, Point)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|14|undefined reference to `cwin'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|14|undefined reference to `GraphicWindow::operator<<(Line)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|14|undefined reference to `GraphicWindow::operator<<(Line)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|15|undefined reference to `Line::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|16|undefined reference to `Line::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|17|undefined reference to `cwin'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|17|undefined reference to `GraphicWindow::operator<<(Line)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|17|undefined reference to `GraphicWindow::operator<<(Line)'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\libmingw32.a(main.o):main.c|| undefined reference to `WinMain@16'|
||=== Build finished: 14 errors, 0 warnings ===|
Ma perchè? Quali sono i passi precisi per integrare gli header(soprattutto questo header grafico) e le librerie grafiche date sul sito del libro? perchè mettendo il tutto nella cartella include mi da errori.
(PS ho provato ad inserire in include ccc_win.cpp trovato sul sito inglese del libro, cosi facendo gli errori citati prima non ci sono perchè forse trova le informazioni mancanti in questo file però mi escono tantissimi altri errori collegati ad altri file come ccc_ansi.cpp ecc che sono altri file sempre del sito inglese non compresi nel file zip codice.zip italiano e quindi comunque il programma e suoi annessi con lo stesso header non partono.
Rimango in attesa di un vostro aiuto, perchè son rimasto bloccato qui, al capitolo 3 su programmi grafici, sono 3 giorni che ci sbatto la testa, grazie mille in anticipo.
Tanti Saluti.
ho riscontrato dei problemi nel capitolo 3, per poter creare i programmi grafici, mi sono scaricato il file zip dal sito del libro, il file codice.zip, questo zip contiene i codici di tutti i programmi di esempio del libro, gli header e le librerie grafiche create per l'occasione, solamente non funziona, vi spiego, ho messo nella cartella include di codeblocks (programma che devo utiizzare per il corso e l'esame) tutti gli header .h e i file .cpp(dovrebbero essere le librerie compilate dei file .h) contenuti nella cartella cccfiles del file zip codice.zip
però ho un problema con l'header ccc_win.h che è l'unico che non ha il suo corrispettivo ccc_win.cpp e non so per quale motivo qualsiasi programma di esempio che sta sul libro che utilizza questo header ripetendolo su codeblocks non funziona.
il programma è:
#include "ccc_win.h"
int ccc_win_main()
{
Point p(1, 3);
Point q = p;
Point r = p;
q.move(0, 1);
r.move(1, 0);
Line s(p, q);
Line t(p, r);
cwin << s << t;
s.move(1, 0);
t.move(0, 1);
cwin << s << t;
return 0;
}
questo programma dovrebbe raffigurare un quadrato invece crea i seguenti errori di compilazione:
obj\Debug\main.o||In function `Z12ccc_win_mainv':|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|7|undefined reference to `Point::Point(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|10|undefined reference to `Point::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|11|undefined reference to `Point::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|12|undefined reference to `Line::Line(Point, Point)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|13|undefined reference to `Line::Line(Point, Point)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|14|undefined reference to `cwin'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|14|undefined reference to `GraphicWindow::operator<<(Line)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|14|undefined reference to `GraphicWindow::operator<<(Line)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|15|undefined reference to `Line::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|16|undefined reference to `Line::move(double, double)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|17|undefined reference to `cwin'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|17|undefined reference to `GraphicWindow::operator<<(Line)'|
C:\Users\Stefano\Documents\programmi c++\quad\main.cpp|17|undefined reference to `GraphicWindow::operator<<(Line)'|
c:\program files (x86)\codeblocks\mingw\bin\..\lib\gcc\mingw32\4.4.1\..\..\..\libmingw32.a(main.o):main.c|| undefined reference to `WinMain@16'|
||=== Build finished: 14 errors, 0 warnings ===|
Ma perchè? Quali sono i passi precisi per integrare gli header(soprattutto questo header grafico) e le librerie grafiche date sul sito del libro? perchè mettendo il tutto nella cartella include mi da errori.
(PS ho provato ad inserire in include ccc_win.cpp trovato sul sito inglese del libro, cosi facendo gli errori citati prima non ci sono perchè forse trova le informazioni mancanti in questo file però mi escono tantissimi altri errori collegati ad altri file come ccc_ansi.cpp ecc che sono altri file sempre del sito inglese non compresi nel file zip codice.zip italiano e quindi comunque il programma e suoi annessi con lo stesso header non partono.
Rimango in attesa di un vostro aiuto, perchè son rimasto bloccato qui, al capitolo 3 su programmi grafici, sono 3 giorni che ci sbatto la testa, grazie mille in anticipo.
Tanti Saluti.