Seite 1 von 1

Übung 9: Code kompiliert nicht

Verfasst: 13. Dez 2014 19:02
von Boddlnagg
Der vorgegebene Code zu Exercise 9 kompiliert bei mir (Windows, VS2013) nicht:
error C2679: Binärer Operator '+': Es konnte kein Operator gefunden werden, der einen rechtsseitigen Operanden vom Typ 'Kore::Vector<float,3>' akzeptiert (oder keine geeignete Konvertierung möglich)
IntelliSense: Kein "+"-Operator stimmt mit diesen Operanden überein.
Operandentypen sind: Kore::Quaternion + Kore::Vector<float, 3U>
PhysicsObject.cpp, Zeile 256

An einem veralteten Kore liegt's nicht, das habe ich diesmal gleich ausprobiert ;-)

Re: Übung 9: Code kompiliert nicht

Verfasst: 13. Dez 2014 19:29
von FloM-KOM
Müsste eigentlich mit einem Update von Kore getan sein, den operator haben wir hinzugefügt für die Übung. Wir checken es auch noch mal.

Re: Übung 9: Code kompiliert nicht

Verfasst: 13. Dez 2014 19:43
von manu311
FloM-KOM hat geschrieben:Müsste eigentlich mit einem Update von Kore getan sein, den operator haben wir hinzugefügt für die Übung. Wir checken es auch noch mal.
Es ist in Kore drin, allerdings hat das Exercise 9 Repository nicht den neusten Kore drin. D.h. bei submodule recursive wird nicht auf den aktuellen Master geupdatet sondern auf einen früheren Commit.
(Hab wieder ein Pull-Request gemacht - ich geh Smileys sammeln :D)

Re: Übung 9: Code kompiliert nicht

Verfasst: 13. Dez 2014 19:56
von FloM-KOM
Wird gefixt, und Smileys++ danke :-)

Re: Übung 9: Code kompiliert nicht

Verfasst: 17. Dez 2014 15:28
von trinity
Hi,

bei uns kompiliert der Code auch nicht, wegen dutzender Fehler wie

Code: Alles auswählen

||=== Build: Debug in Exercise9 (compiler: GNU GCC Compiler) ===|
.../Kore/Sources/Kore/IO/Reader.h|15|Fehler: »u32« bezeichnet keinen Typ|
.../Kore/IO/Reader.h|16|Fehler: »u32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|17|Fehler: »s32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|18|Fehler: »s32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|19|Fehler: »u16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|20|Fehler: »u16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|21|Fehler: »s16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|22|Fehler: »s16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|23|Fehler: »u8« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|24|Fehler: »s8« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|26|Fehler: »u8« wurde nicht deklariert|
.../Kore/Sources/Kore/IO/Reader.h|27|Fehler: »u8« wurde nicht deklariert|
.../Kore/Sources/Kore/IO/Reader.h|28|Fehler: »u32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|29|Fehler: »u32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|30|Fehler: »s32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|31|Fehler: »s32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|32|Fehler: »u16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|33|Fehler: »u16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|34|Fehler: »s16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/IO/Reader.h|35|Fehler: »s16« bezeichnet keinen Typ|
.../Kore/Sources/Kore/Math/Random.h|6|Fehler: »s32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/Math/Random.h|7|Fehler: »s32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/Math/Random.h|8|Fehler: »s32« bezeichnet keinen Typ|
.../Kore/Sources/Kore/Audio/Audio.h|19|Fehler: »u8« bezeichnet keinen Typ|
.../Kore/Sources/Kore/Audio/Sound.h|10|Fehler: »u8« bezeichnet keinen Typ|
.../Kore/Sources/Kore/Audio/SoundStream.h|26|Fehler: »u8« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/IndexBufferImpl.h|17|Fehler: »uint« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/VertexBufferImpl.h|15|Fehler: »uint« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/VertexBufferImpl.h|16|Fehler: »uint« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/TextureImpl.h|19|Fehler: »u8« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/TextureImpl.h|22|Fehler: »u8« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/ShaderImpl.h|10|Fehler: »uint« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/ShaderImpl.h|11|Fehler: »u8« bezeichnet keinen Typ|
.../Kore/Backends/OpenGL2/Sources/Kore/ProgramImpl.h|8|Fehler: »uint« bezeichnet keinen Typ|
.../Kore/Sources/Kore/Graphics/Texture.h|16|Fehler: »u8« bezeichnet keinen Typ|
Wir haben "git submodule foreach git pull origin master" verwendet, um Kore zu aktualisieren.

Viele Grüße,
trinity

Re: Übung 9: Code kompiliert nicht

Verfasst: 17. Dez 2014 15:50
von RobDangerous
Hm, das passiert, wenn pch.h nicht zuallererst inkludiert wird. Habe einen spekulativen Fix eingecheckt, kann aber leider erst heute Abend an meiner Linux-Kiste testen.

Re: Übung 9: Code kompiliert nicht

Verfasst: 17. Dez 2014 16:39
von trinity
Vielen Dank für den Hinweis, wir habens jetzt hingekriegt. Das Problem war, dass include pch.h gar nicht mehr in der exercise.cpp stand weil beim pullen und mergen scheinbar ganz entschieden was schief gegangen ist. Haben nochmal alle Dateien manuell übernommen und ein bisschen rumgefixt, jetzt geht alles.

Kleiner Verbesserungsvorschlag meinerseits fürs nächste mal: Es wäre super, wenn ihr für jede Übung einen eigenen Ordner im git erzeugen würdet, weil wir unsere alten Lösungen gerne direkt zugänglich (außerhalb der History) behalten möchten. Normalerweise haben wir da mit git mv gearbeitet aber diesmal hat uns das irgendwie alles zerschossen und das wieder hinzukriegen hat mit den ganzen Neuversuchen mittlerweile fast drei Stunden gefressen :/.

Re: Übung 9: Code kompiliert nicht

Verfasst: 17. Dez 2014 17:01
von RobDangerous
Klingt aufwändig. Würde es nicht reichen, einfach einen git tag anzulegen? Manche Gruppen arbeiten auch mit branches.

Re: Übung 9: Code kompiliert nicht

Verfasst: 17. Dez 2014 17:08
von trinity
git tag kannte ich gar nicht, an branchen haben wir nach dem jetzigen Disaster auch schon gedacht, aber ich dachte ich schlag es trotzdem mal vor, vllt hätte es sich ja leicht machen lassen. :wink: