problem beim einbinden von klassenbibliothek
-
hallo,
ich würde euch gern was fragen, denn ich hab ein problem.
ich muss grade von der uni her einen raytracer schreiben, und dazu wurde uns eine kleine klassenbiblithek für farben, matrizen etc vorgegeben.jetzt versuch ich materialien mit den farben zu initialisieren
material::material(std::string name, color ka, color kd, color ks,double m): name_(name), ka_(ka), kd_(kd), ks_(ks), m_(m){ }jetzt tauchem merkwürdiger weise in der zeile von m_ mehrere fehlermeldungen auf
nämlich findet er die referenz zum standartkonstuktor von color 3 mal nicht und dann 2 mal für den destruktordie bibliothek hab ich bloß über zB #include"color.hpp" eingebunden, und die scheint er ja auch prinnzipiell zu finden, in der initialisierungsliste hat er ja keine fehlermeldung
kann mir bitte jemand sagen was ich falsch mache?

-
sebii schrieb:
kann mir bitte jemand sagen was ich falsch mache?

Du hast die als wichtig markierten Threads in diesem Forum nicht gelesen (auch noch einmal in meiner Signatur zu finden). Der gezeigte Code reicht bei weitem nicht aus, um deine Frage zu beantworten. Bitte zeig aber nun auch nicht gleich alles, sondern nimm dir einen Moment Zeit, ein passendes Beispiel zu erstellen.
-
so ich hab mir das mal angeschaut, ich hab auch schon in bücher reingeschaut etc
also ich versuchs nochmal zu schilderndie klassenbibliothek besteht einfach aus aus verschiedenen klassen und deren implementierung
leider sind diese total unkommentiert
also ich include die color.hpp der klassenbibliothek
und habe eine klasse material die verschiedene farben/werten für diffuse reflexion, spiegelung sowie namen etc enthält
jetzt versuche ich einfach den standartkonstruktor von material zu machen
material::material(): name_(),//string ka_(), //color kd_(), //color ks_(), //color m_() //double {} //eigentlicher konstruktorso jetzt geht der durch die initalisierungsliste ohne felhermeldung, und in geschweiften klammern kommen die beschriebenen fehlermeldungen
mehr kann man tatsächlich nicht dazu sagen, ausser vlt das ich codeblocks ohne geänderte einstellungen verwende
dieses problem tritt bei allen konstruktoren an der selben stelle in der selben form auf
-
okey das problem scheint tatsächlich in der auffindung der konstruktoren zu liegen er meldet keine fehler beim #include an, jedoch kann ich die klasse nicht verwenden...
-
name_(),//string ka_(), //color kd_(), //color ks_(), //color m_() //doubleDas sind alles default-Ctors. Die kann man einfach weglassen.
-
Linkerfehler oder Compilerfehler? Wenn es ein Linkerfehler ist, gibts wohl eine Lib, gegen die du linken musst. Wenns eine Compilerfehler ist und die richtige Datei eingebunden hast, machst du wahrscheinlich was falsch. Wär aber nicht schlecht, wenn du zumindest die genaue Fehlermeldung gepostet hättest, ist echt nervig, wenn man raten muss, was du jetzt meinen könntest.
-
dieses problem tritt bei allen konstruktoren an der selben stelle in der selben form auf
Rechtsklick auf den Error unten -> kopieren.
Das hilft uns allen
Wenn er schreibt, es wird die Referenz nicht gefunden Tippe ich mal auf Linkerfehler àlà
undefined reference to ...