C++ Probleme bei Stroustrup's PPP

KingJoshii1000

Lieutenant
Registriert
Apr. 2010
Beiträge
879
Hallo,
ich habe Sonntag das lang ersehnte Kapitel 12 (GUI-Programmierung) in der deutschen Variante von Stroustrup's PPP erreicht. Nun wollte ich gerne die Beispiele mal nachprogrammieren sowie gerne die Aufgaben und den Übungsteil lösen. Dafür habe ich mir den Programmcode inkl. FLTK von seiner Website heruntergeladen.

Soweit so gut, nun habe ich das ganze entpackt, im Ordner FLTK\Visualc die fltk.dsw gesucht und ausgeführt. Visual Studio 2013 öffnete dies und gab beim Builden sofort ein paar Fehlermeldungen, dass bestimmte Dateien nicht gelesen werden konnten aufgrund von fehlenden Rechten. Mir ist aufgefallen, dass VS die Daten umkonvertiert hat, sodass nun auch eine fltk.sln vorhanden war, welche ich öffnete und ohne Fehler die Lib's builden konnte. Die 7 Libs habe ich in VC\lib einkopiert und den FL Ordner in VC\include.

Soweit immer noch so gut. Somit schnell ein Win32 Projekt erstellt, und Beim Linker unter Eingabe noch "fltkd.lib, wsock32.lib, comctl32.lib ,fltkjpegd.lib ,fltkimagesd.lib" hinzugefügt. Nun gab es im Buch Beispielcode, um zu Prüfen, ob alles funktioniert welcher bei mir positiv ausfiel, sprich in Sachen FLTK funktioniert alles.

Nun habe ich den folgenden Code abgetippt:
Code:
#include "..\..\std_lib_facilities.h"
#include "..\..\Simple_window.h"
#include "..\..\Graph.h"
int main(){
	using namespace Graph_lib;
	Point tl(200, 200);
	Simple_window win(tl, 600, 400, "Leinwand");
	Polygon poly;
	poly.add(Point(300, 200));
	poly.add(Point(350, 100));
	poly.add(Point(400, 200));
	poly.set_color(Color::red);
	win.attach(poly);
	win.wait_for_button();
	keep_window_open();
}
Dieser führte direkt zu ein paar Linker Fehlern. Kurz Google befragt und die mitgelieferten .cpp Daten wie Graph.cpp importiert.
Nun erhalte ich beim debuggen 33 Fehler, welche sich ausschließlich auf die Window.cpp und die Window.h beziehen.
Hier mal die Fehler
Fehler 4 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.h 42 1 Uebung01
Fehler 13 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 42 1 Uebung01
Fehler 16 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 66 1 Uebung01
Fehler 18 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 67 1 Uebung01
Fehler 19 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 68 1 Uebung01
Fehler 22 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 74 1 Uebung01
Fehler 24 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 75 1 Uebung01
Fehler 25 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 76 1 Uebung01
Fehler 27 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 77 1 Uebung01
Fehler 28 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.cpp 78 1 Uebung01
Fehler 33 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.h 42 1 Uebung01
Fehler 54 error C2065: 'shapes': nichtdeklarierter Bezeichner d:\users\user\documents\visual studio 2013\projects\window.h 42 1 Uebung01
Fehler 1 error C2143: Syntaxfehler: Es fehlt ';' vor '<' d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 30 error C2143: Syntaxfehler: Es fehlt ';' vor '<' d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 51 error C2143: Syntaxfehler: Es fehlt ';' vor '<' d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 15 error C2227: Links von "->draw" muss sich ein Zeiger auf Klassen-/Struktur-/Union-/generischen Typ befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 42 1 Uebung01
Fehler 21 error C2228: Links von ".begin" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 68 1 Uebung01
Fehler 20 error C2228: Links von ".erase" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 68 1 Uebung01
Fehler 5 error C2228: Links von ".push_back" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.h 42 1 Uebung01
Fehler 34 error C2228: Links von ".push_back" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.h 42 1 Uebung01
Fehler 55 error C2228: Links von ".push_back" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.h 42 1 Uebung01
Fehler 14 error C2228: Links von ".size" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 42 1 Uebung01
Fehler 17 error C2228: Links von ".size" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 66 1 Uebung01
Fehler 23 error C2228: Links von ".size" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 74 1 Uebung01
Fehler 26 error C2228: Links von ".size" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 76 1 Uebung01
Fehler 29 error C2228: Links von ".size" muss sich eine Klasse/Struktur/Union befinden. d:\users\user\documents\visual studio 2013\projects\window.cpp 78 1 Uebung01
Fehler 3 error C2238: Unerwartete(s) Token vor ';' d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 32 error C2238: Unerwartete(s) Token vor ';' d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 53 error C2238: Unerwartete(s) Token vor ';' d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 49 error C2440: 'return': 'std::ifstream' kann nicht in 'bool' konvertiert werden d:\users\user\documents\visual studio 2013\projects\graph.cpp 371 1 Uebung01
Fehler 2 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 31 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01
Fehler 52 error C4430: Fehlender Typspezifizierer - int wird angenommen. Hinweis: "default-int" wird von C++ nicht unterstützt. d:\users\user\documents\visual studio 2013\projects\window.h 54 1 Uebung01

Bin da leider ein wenig ratlos, viele haben das Problem, dass die Class Polygon zweideutig oder X11 Header Daten gesucht waren bei Win32 Anwendungen, jedoch fand ich nichts zu meinem.
Hat jemand von euch eine Idee? Könnte das jemand mal nachprüfen, ob er die gleichen Fehler erhält? Ich vermute mal nicht, dass Stroustrup's Code fehlerhaft ist, bei vielen die eines der oben genannten Probleme hatten funktioniert es danach wunderbar.

Mit freundlichen Grüßen :)
 
Hey, das sieht aus als wären die Header nicht richtig eingebunden. Wenn die Includes fehlerfrei angezeigt werden heißt das bei VS nur, dass Intellisense sie für richtig hält. Hatte oft Projekte in denen ich include Pfade hatte die VS mir permanent als falsch angezeigt hat (waren aber korrekt und lies sich nur so ausführen). Pfad nochmal überprüfen und ggf anpassen. (vllt einfach einmal ../ raus?)
 
Hey,
finde deinen Ansatz ganz interessant. Habe nun alle GUI Daten in die Uebung01 verschoben, wo sich auch meine Main.cpp befindet. Nun habe ich die Header Daten so eingebunden:
Code:
#include "std_lib_facilities.h"
#include "Simple_window.h"
#include "Graph.h"
Jedoch erhalte ich beim Builden immer noch 33 Fehler.

Mit freundlichen Grüßen
 
Zurück
Oben