Seite 1 von 1

Praktikum 1 - XabslEditor

Verfasst: 1. Nov 2010 12:22
von Katrin
Hallo,

was muss ich im XabslEditor als Compiler einstellen? Zur Zeit mache ich in der Konsole immer ein "make" - ist ok, aber wenn es "grafisch" ginge, wär's auch schick. Ist da was möglich?

Re: Praktikum 1 - XabslEditor

Verfasst: 2. Nov 2010 00:47
von franzose
wenn ich versuche "make" ider "start-game.bash" auszuführen, bekomme ich folgende Fehlermeldung. Ich habe leider keine Ahnung und wäre für Hilfe sehr dankbar....

bei make:

Code: Alles auswählen

copying files for rollers team
compiling and linking soccer
soccer.c:48:20: error: curses.h: No such file or directory
soccer.c:53: error: expected constructor, destructor, or type conversion before ‘*’ token
soccer.c: In function ‘void report_score(int, int)’:
soccer.c:80: error: ‘sprintf’ was not declared in this scope
soccer.c:81: error: ‘mvaddstr’ was not declared in this scope
soccer.c:83: error: ‘mvaddstr’ was not declared in this scope
soccer.c:84: error: ‘game_win’ was not declared in this scope
soccer.c:84: error: ‘wrefresh’ was not declared in this scope
soccer.c: In function ‘int replace_ball()’:
soccer.c:97: error: ‘mvaddch’ was not declared in this scope
soccer.c:105: error: ‘mvaddch’ was not declared in this scope
soccer.c:106: error: ‘game_win’ was not declared in this scope
soccer.c:106: error: ‘wrefresh’ was not declared in this scope
soccer.c: In function ‘int nudge_ball()’:
soccer.c:120: error: ‘mvaddch’ was not declared in this scope
soccer.c:134: error: ‘mvaddch’ was not declared in this scope
soccer.c: In function ‘int init()’:
soccer.c:178: error: ‘game_win’ was not declared in this scope
soccer.c:178: error: ‘wclear’ was not declared in this scope
soccer.c:200: error: ‘mvaddch’ was not declared in this scope
soccer.c:205: error: ‘mvaddch’ was not declared in this scope
soccer.c:219: error: ‘mvaddch’ was not declared in this scope
soccer.c:224: error: ‘mvaddch’ was not declared in this scope
soccer.c:230: error: ‘game_win’ was not declared in this scope
soccer.c:230: error: ‘wrefresh’ was not declared in this scope
soccer.c: In function ‘int main(int, char**)’:
soccer.c:283: error: ‘sscanf’ was not declared in this scope
soccer.c:284: error: ‘stderr’ was not declared in this scope
soccer.c:284: error: ‘fprintf’ was not declared in this scope
soccer.c:292: error: ‘sscanf’ was not declared in this scope
soccer.c:293: error: ‘stderr’ was not declared in this scope
soccer.c:293: error: ‘fprintf’ was not declared in this scope
soccer.c:297: error: ‘stderr’ was not declared in this scope
soccer.c:297: error: ‘fprintf’ was not declared in this scope
soccer.c:308: error: ‘initscr’ was not declared in this scope
soccer.c:309: error: ‘cbreak’ was not declared in this scope
soccer.c:310: error: ‘noecho’ was not declared in this scope
soccer.c:311: error: ‘game_win’ was not declared in this scope
soccer.c:311: error: ‘stdscr’ was not declared in this scope
soccer.c:311: error: ‘LINES’ was not declared in this scope
soccer.c:311: error: ‘COLS’ was not declared in this scope
soccer.c:311: error: ‘subwin’ was not declared in this scope
soccer.c:312: error: ‘game_win’ was not declared in this scope
soccer.c:312: error: ‘wmove’ was not declared in this scope
soccer.c:313: error: ‘game_win’ was not declared in this scope
soccer.c:313: error: ‘wrefresh’ was not declared in this scope
soccer.c:515: error: ‘mvaddch’ was not declared in this scope
soccer.c:561: error: ‘mvaddch’ was not declared in this scope
soccer.c:595: error: ‘mvaddch’ was not declared in this scope
soccer.c:626: error: ‘mvaddch’ was not declared in this scope
soccer.c:629: error: ‘mvaddch’ was not declared in this scope
soccer.c:633: error: ‘mvaddch’ was not declared in this scope
soccer.c:635: error: ‘game_win’ was not declared in this scope
soccer.c:635: error: ‘wrefresh’ was not declared in this scope
soccer.c:647: error: ‘printf’ was not declared in this scope
soccer.c:648: error: ‘stdout’ was not declared in this scope
soccer.c:648: error: ‘fflush’ was not declared in this scope
soccer.c:660: error: ‘printf’ was not declared in this scope
soccer.c:661: error: ‘stdout’ was not declared in this scope
soccer.c:661: error: ‘fflush’ was not declared in this scope
soccer.c:703: error: ‘getch’ was not declared in this scope
soccer.c:729: error: ‘printf’ was not declared in this scope
soccer.c:731: error: ‘mvaddch’ was not declared in this scope
soccer.c:739: error: ‘game_win’ was not declared in this scope
soccer.c:739: error: ‘wrefresh’ was not declared in this scope
soccer.c:752: error: ‘endwin’ was not declared in this scope
soccer.c:753: error: ‘printf’ was not declared in this scope
make[1]: *** [soccer.o] Error 1
make: *** [ascii-soccer/soccer.exe] Error 2
bei ./start-game.bash brute

Code: Alles auswählen

copying files for brute team
compiling and linking soccer
soccer.c:48:20: error: curses.h: No such file or directory
soccer.c:53: error: expected constructor, destructor, or type conversion before ‘*’ token
soccer.c: In function ‘void report_score(int, int)’:
soccer.c:80: error: ‘sprintf’ was not declared in this scope
soccer.c:81: error: ‘mvaddstr’ was not declared in this scope
soccer.c:83: error: ‘mvaddstr’ was not declared in this scope
soccer.c:84: error: ‘game_win’ was not declared in this scope
soccer.c:84: error: ‘wrefresh’ was not declared in this scope
soccer.c: In function ‘int replace_ball()’:
soccer.c:97: error: ‘mvaddch’ was not declared in this scope
soccer.c:105: error: ‘mvaddch’ was not declared in this scope
soccer.c:106: error: ‘game_win’ was not declared in this scope
soccer.c:106: error: ‘wrefresh’ was not declared in this scope
soccer.c: In function ‘int nudge_ball()’:
soccer.c:120: error: ‘mvaddch’ was not declared in this scope
soccer.c:134: error: ‘mvaddch’ was not declared in this scope
soccer.c: In function ‘int init()’:
soccer.c:178: error: ‘game_win’ was not declared in this scope
soccer.c:178: error: ‘wclear’ was not declared in this scope
soccer.c:200: error: ‘mvaddch’ was not declared in this scope
soccer.c:205: error: ‘mvaddch’ was not declared in this scope
soccer.c:219: error: ‘mvaddch’ was not declared in this scope
soccer.c:224: error: ‘mvaddch’ was not declared in this scope
soccer.c:230: error: ‘game_win’ was not declared in this scope
soccer.c:230: error: ‘wrefresh’ was not declared in this scope
soccer.c: In function ‘int main(int, char**)’:
soccer.c:283: error: ‘sscanf’ was not declared in this scope
soccer.c:284: error: ‘stderr’ was not declared in this scope
soccer.c:284: error: ‘fprintf’ was not declared in this scope
soccer.c:292: error: ‘sscanf’ was not declared in this scope
soccer.c:293: error: ‘stderr’ was not declared in this scope
soccer.c:293: error: ‘fprintf’ was not declared in this scope
soccer.c:297: error: ‘stderr’ was not declared in this scope
soccer.c:297: error: ‘fprintf’ was not declared in this scope
soccer.c:308: error: ‘initscr’ was not declared in this scope
soccer.c:309: error: ‘cbreak’ was not declared in this scope
soccer.c:310: error: ‘noecho’ was not declared in this scope
soccer.c:311: error: ‘game_win’ was not declared in this scope
soccer.c:311: error: ‘stdscr’ was not declared in this scope
soccer.c:311: error: ‘LINES’ was not declared in this scope
soccer.c:311: error: ‘COLS’ was not declared in this scope
soccer.c:311: error: ‘subwin’ was not declared in this scope
soccer.c:312: error: ‘game_win’ was not declared in this scope
soccer.c:312: error: ‘wmove’ was not declared in this scope
soccer.c:313: error: ‘game_win’ was not declared in this scope
soccer.c:313: error: ‘wrefresh’ was not declared in this scope
soccer.c:515: error: ‘mvaddch’ was not declared in this scope
soccer.c:561: error: ‘mvaddch’ was not declared in this scope
soccer.c:595: error: ‘mvaddch’ was not declared in this scope
soccer.c:626: error: ‘mvaddch’ was not declared in this scope
soccer.c:629: error: ‘mvaddch’ was not declared in this scope
soccer.c:633: error: ‘mvaddch’ was not declared in this scope
soccer.c:635: error: ‘game_win’ was not declared in this scope
soccer.c:635: error: ‘wrefresh’ was not declared in this scope
soccer.c:647: error: ‘printf’ was not declared in this scope
soccer.c:648: error: ‘stdout’ was not declared in this scope
soccer.c:648: error: ‘fflush’ was not declared in this scope
soccer.c:660: error: ‘printf’ was not declared in this scope
soccer.c:661: error: ‘stdout’ was not declared in this scope
soccer.c:661: error: ‘fflush’ was not declared in this scope
soccer.c:703: error: ‘getch’ was not declared in this scope
soccer.c:729: error: ‘printf’ was not declared in this scope
soccer.c:731: error: ‘mvaddch’ was not declared in this scope
soccer.c:739: error: ‘game_win’ was not declared in this scope
soccer.c:739: error: ‘wrefresh’ was not declared in this scope
soccer.c:752: error: ‘endwin’ was not declared in this scope
soccer.c:753: error: ‘printf’ was not declared in this scope
make[1]: *** [soccer.o] Error 1
make: *** [ascii-soccer/soccer.exe] Error 2

Re: Praktikum 1 - XabslEditor

Verfasst: 2. Nov 2010 09:46
von FabianM
Hallo,

Du benötigst libncurses.
Für debian z.B. http://packages.debian.org/lenny/lib64ncurses5-dev oder die 32bit Version, je nach dem.

Damit sollte es funktionieren

Re: Praktikum 1 - XabslEditor

Verfasst: 3. Nov 2010 00:15
von franzose
vielen Dank für die Erklärung, ich hatte das libncurses5-dev Paket nicht installiert, jetzt funktioniert es :)

Re: Praktikum 1 - XabslEditor

Verfasst: 4. Nov 2010 10:14
von W0x
Hätte mir jemand ein Tutorial für die Nutzung unter Win 7?

Re: Praktikum 1 - XabslEditor

Verfasst: 4. Nov 2010 11:00
von gregor
http://www.robocup.informatik.tu-darmst ... nload.html

da kannst du XABSL-Soccer-with-WIN32-Binaries.zip runterladen und eine kurze erläuterung steht da auch.

Re: Praktikum 1 - XabslEditor

Verfasst: 9. Nov 2010 20:07
von thalane
Hallo,

immer wenn ich make in die Konsole eingebe, bekomme ich gesagt, dass der Befehl nicht gefunden werde konnte oder falsch geschrieben ist. Kann mir jemand helfen? ^^


P.S.: Ich befinde mich im Ordner ...\XABSL-Soccer-CE_plain und benutze Win7 - 64Bit

Re: Praktikum 1 - XabslEditor

Verfasst: 9. Nov 2010 22:42
von igor.a
Unter Windows gibts make nicht ohne Weiteres. Versuch s mal unter Linux.

Re: Praktikum 1 - XabslEditor

Verfasst: 13. Nov 2010 14:45
von MaMaj
thalane hat geschrieben:Hallo,

immer wenn ich make in die Konsole eingebe, bekomme ich gesagt, dass der Befehl nicht gefunden werde konnte oder falsch geschrieben ist. Kann mir jemand helfen? ^^


P.S.: Ich befinde mich im Ordner ...\XABSL-Soccer-CE_plain und benutze Win7 - 64Bit

Du kannst cygwin installieren. Hab ich auch gemacht und es funktioniert.

Allerdings wirst du wohl beim Make-Befehl einen Fehler haben. Das liegt jedoch nicht daran, dass libncurses nicht installiert ist (curses.h wird nicht gefunden), sondern weil im Quellcode von soccer.h der Header curses.h als nativ angenommen wird (#include <curses.h>) das ist aber bei Windows bzw. cygwin nicht der Fall. Du musst dann einfach <> duch "" ersetzen bzw. den absoluten Pfad zur Datei angeben. Suche einfach im cygwin-Ordner nach der Header-Datei und kopier dir den Pfad. Danach läuft alles.

Tipp: cygwin bilder ja die Linux-Ordnerstruktur nach. Pack am besten alle Projektdateien in "cygwin/home", dann kannste sofort mit der minitty-Console (Teil von cygwin) loslegen.

Re: Praktikum 1 - XabslEditor

Verfasst: 14. Nov 2010 11:22
von W0x
Hi

Ich habe mir jetzt mal das cygwin installiert, finde aber kein #include <curses.h> in der soccer.h
In der soccer.c gibt es diese Zeile. Allerdings finde ich im cygwin-Ordner nirgends eine curses.h...

Außerdem meint cygwin "ls: cannot access ascii-soccer/teams: No such file or directory".
Ich rufe z.B. "/home/XABSL_Soccer-CE_plain/start-game.bash brute" auf.

Kann mir jemand weiterhelfen? Den Ordner ascii-soccer/teams gibt es natürlich.

Vielen Dank!

Re: Praktikum 1 - XabslEditor

Verfasst: 14. Nov 2010 13:00
von MaMaj
ja, stimmt... du musst die soccer.c editieren.

Die curses.h ist bei meiner cygwin-Installation unter "cygwin\usr\include\ncurses\curses.h" zu finden. Ich habe jetzt einfach in der soccer.c den absoluten Pfad (mit "D:\bla\bla\cygwin\usr\include\ncurses\curses.h") gesetzt.

Falls du in dem angegebenen Ordner kein curses.h findest, starte nochmal die cygwin-Setup Datei und gib in der Paketauswahl im Suchfenster einfach mal curses ein. Dann müssten drei Einträge erscheinen, du du mit einem Klick auf das runde Pfeilsymbol als "install", oder "reinstall" kennzeichnest. Dann wird der ganze Spaß auch nochmal nachinstalliert und dann sollte es wirklich gehen.