FachschaftMathPhysInfo / Programmiervorkurs

Programmiervorkurs der Fachschaft
Creative Commons Attribution Share Alike 4.0 International
9 stars 2 forks source link

Lektion 17 tictactoe.o kompiliert nicht #118

Closed nick75g closed 2 years ago

nick75g commented 2 years ago

In Lektion 17 muss man beim Kompilieren zusätzlich zu tictactoe.cpp die Datei tictactoe.o als Inputdatei verarbeiten. Dies produziert aber folgenden Fehler: /usr/bin/ld: warning: tictactoe.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010002 /usr/bin/ld: warning: tictactoe.o: unsupported GNU_PROPERTY_TYPE (5) type: 0xc0010001 /usr/bin/ld: /usr/lib/gcc/x86_64-linux-gnu/8/../../../x86_64-linux-gnu/Scrt1.o: in function '_start': (.text+0x20): undefined reference to 'main' collect2: error: ld returned 1 exit status Ein outputfile wird erzeugt, welches aber nicht funktioniert (in eine Endlosschleife gerät).

christian-heusel commented 2 years ago

Wie hast du das denn ausgeführt, ich habs eben nämlich getestet und bei mir funktioniert das wunderbar ... 😊

nick75g commented 2 years ago

Ich habe einen PC im PC-Pool genommen, mich unter einem nichtbenutzten Nutzernamen eingeloggt und den code versucht, zu kompilieren. Bei den Erstis funktioniert es an deren PCs auch nicht, mich haben schon mehrere darauf angesprochen.

christian-heusel commented 2 years ago

Ich teste mal meinen Code auf dem Poolrechner! :)

christian-heusel commented 2 years ago

Jap, liegt vermutlich an den verschiedenen Compilerversionen auf dem Pool und bei mir daheim. Wie man das fixen kann ist entsprechenderweise das Objfile tictactoe.o mit einer Compiler zu bauen, also halt zum Beispiel der Version, die der Pool selbst hat.

Da der Pool derart in Eile aufgesetzt wurde, ist zum generieren nämlich mein lokaler g++ zum Einsatz gekommen (Version 11.1.0) und auf dem Pool läuft halt eine weit ältere Toolchain (Version 8.3.0), bei drei Major Versions Unterschied ist halt auch erwartbar, dass irgendwas mal schief geht 😛

chris@meterpeter ~ » g++ --version
g++ (GCC) 11.1.0
Copyright (C) 2021 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
pvk21035@cip50:~/Programmiervorkurs/vorkurs/lektion17$ g++ --version
g++ (Debian 8.3.0-6) 8.3.0
Copyright (C) 2018 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
jenuk commented 2 years ago

Jap, liegt vermutlich an den verschiedenen Compilerversionen auf dem Pool und bei mir daheim.

Das Problem gab es zumindest auch schon mal so. Die Empfehlung das auf den Pool-Rechnern zu kompilieren, stand deshalb auch mal im Wiki.