Fehler beim Kompilieren des Tickers unter Windows

Hier können sich alle gegenseitig helfen beim erstellen eines Spiels

Moderator: Agatho

Fehler beim Kompilieren des Tickers unter Windows

Beitragvon freddy » 16.02.2005, 05:01

Hallo

ich versuche seit einiger Zeit ugaagga unter Windows ans laufen zu kriegen.

Bis jetzt konnte ich mich mit mehr oder weniger vielen Problemen bis zum Kompilieren des Tickers durchschlagen, komme jetzt aber nicht weiter.

Ich erhalte beim kompilieren folgende Meldung:

13 D:\temp\ticker\artefact.c In file included from ../ticker/artefact.c
85 D:\temp\ticker\except.h syntax error before `throw'
D:\temp\1\ticker\Makefile.win [Build Error] [../ticker/artefact.o] Error 1


bertoffen ist die mit <=== markierte Zeile aus der exept.h
Code: Alles auswählen
/* uncaught exception handler - may be modified */
extern void (*__jmp_handler)(const void *type, const char *msg);

/* throw an exception */
extern void throw (const void *type, const char *msg);                 <==============
extern void throwf (const void *type, const char *fmt, ...)
   __attribute__((format (printf, 2, 3)));


Ich hab im Forum schon nach einem ähnlichen Problem gesucht und bin auf diesen Tread gestoßen.
Dort steht am Ende:

Aber, das Problem hat sich nun gelöst, war nen fehlendes ";" Simikolon -.-
Immer diese blöden Satzzeichen, naja, egal.


Leider kann ich bei mir nichts derartiges feststellen.
Dazu muss ich jedoch sagen, dass ich fast gar keine Ahnung von C habe.

Ich benutze die ugaagga Version vom 10.02.05 und arbeite nach dieser Anleitung:
http://tntchris.dyndns.org/comawiki/CoM ... aTutorials
Zum Kompilieren benutze ich Dev-C++ Version 4.9.9.1
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon freddy » 25.02.2005, 00:39

ich hab mich noch mal von vorne drangemacht, mit der ugaagga version vom 20.2.

ich bleibe immer, egal was ich mache bei diesem fehler hängen.

weiß nicht irgendwer, woran das liegen könnte?
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon LaForge » 25.02.2005, 00:47

Ich kann zwar auch kein C, aber ich würde mal sagen, dass die beiden
"extern void ..." syntaktisch ähnliche Aufrufe sind. Entweder muß hinter beiden ein Semikolon oder hinter beiden keins.
Hast du schonmal probiert eins dazu bzw. eins wegzumachen?
Ich tippe mal darauf, dass in die markierte Zeile ein ; drann muß.
Egal mit welchen Waffen die Menschen im 3. Weltkrieg kämpfen,
im 4. werden es Knüppel und Steine sein.
nach Albert Einstein
Benutzeravatar
LaForge
Spielball der Götter
Spielball der Götter
 
Beiträge: 20
Registriert: 28.01.2004, 23:51
Wohnort: Osnabrück

Beitragvon MightyDuck » 25.02.2005, 11:16

Wahrscheinlich kompilierst du den source unabsichtlich als C++ code, wo "throw" ein Schlüsselwort. Erzwinge in deinem Compiler (welchen du auch immer verwendest) C-Kompilierung.

HTH,
MD
MightyDuck
Spielball der Götter
Spielball der Götter
 
Beiträge: 23
Registriert: 01.02.2004, 10:57

Beitragvon freddy » 25.02.2005, 12:48

tausend dank
daran lag es


jetzt compiliert der alle dateien.

ein kleines problem habe ich aber immer noch:
am ender erhalte ich die nachricht:

ticker.o(.text+0x905):ticker.c: multiple definition of `main'
terrain.o(.text+0x8ca):terrain.c: first defined here
collect2: ld returned 1 exit status

make.exe: *** [3.exe] Error 1

Ausführung beendet



leider weiß ich damit wieder nichts anzufangen, weil da auch keine zeilenabgaben usw beistehen
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon Stoan » 25.02.2005, 14:28

freddy hat geschrieben:ticker.o(.text+0x905):ticker.c: multiple definition of `main'
terrain.o(.text+0x8ca):terrain.c: first defined here
collect2: ld returned 1 exit status

Ich hab zwar fast null ahnung von C, aber kann es sein,
dass du terrain und den ticker zusammen compilierst?
Terrain ist, soweit ich weis, ein eigenständiges programm,
das würde dann auch das doppelte main erklären.
[17:57] <[CT]danielray> stoan 4 ua admin! die runden werden schneller gestartet ^^
Benutzeravatar
Stoan
Proviantschlepper
Proviantschlepper
 
Beiträge: 99
Registriert: 23.04.2004, 15:43

Beitragvon freddy » 25.02.2005, 14:58

hast recht

jetzt kann ich den ticker ohne probleme kompilieren.


aber wenn ich den ticker starten will, erscheint:

14:11:03 logging.c:58: error: /etc/ticker.conf: No such file or directory


die ticker.conf existiert in dem verteichnis, in dem der ticker ist (F:\web\dokumente\ugaagga\Utilities) und nochmal in einem ordner etc, den ich angelegt hab (F:\web\dokumente\ugaagga\Utilities\etc)



EDIT:

jetzt läuft er

ich hab die ticker.c angepasst und neu compiliert.


danke an alle die mir geholfen haben
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon freddy » 25.02.2005, 19:12

jetzt hab ich doch noch was:

nach einem neustart meines rechners kann ich den ticker nicht mehr starten. er beendet sich einfach ohne meldunf.
in der ticker_error.log steht folgendes:

18:28:27 ticker.c:253: mysql_query: Unknown column 'resource_soybean_delta' in 'field list': UPDATE Cave SET resource_soybean_delta = (building_acre) * IF((building_acre) <= 0, 1, 1 + SIGN(0)*0 + SIGN(0)*0),resource_soybean = GREATEST(LEAST(resource_soybean + resource_soybean_delta, 100), 0),resource_soybean_delta = (building_acre) * IF((building_acre) <= 0, 1, 1 + SIGN(0)*0 + SIGN(0)*0),resource_soybean = GREATEST(LEAST(resource_soybean + resource_soybean_delta, 100), 0) WHERE playerID != 0
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon Stoan » 25.02.2005, 19:17

Das is einfach , er sagt, dass die spalte 'resource_soybean_delta' nicht in der datenbank ist.
Ich würde sagen, er hat Probleme mit den Regeln.
Kannst versuchen, die Spalte selbst anzulegen,
um zu sehen, was passiert.
[17:57] <[CT]danielray> stoan 4 ua admin! die runden werden schneller gestartet ^^
Benutzeravatar
Stoan
Proviantschlepper
Proviantschlepper
 
Beiträge: 99
Registriert: 23.04.2004, 15:43

Beitragvon freddy » 25.02.2005, 19:51

ich hab den fehler gefunden.
ich hab den ressourcen 0 und 1 beiden aus versehen die spalte resource_soybean zugewiesen.
der fehler ist korrigiert.

aber der ticker läuft immer noch nicht.
er stürzt jetzt ab und hinterlässt keinen eintrag in der ticker_error.log

in der ticker_debug.log steh:

19:06:25 ticker.c:307: init
19:06:25 ticker.c:129: running
19:06:25 ticker.c:216: event: scheduled 14:00:00, now 18:06:25
19:06:25 ticker.c:243: resource tick 14:00:00
19:06:25 ticker.c:246: resource tick ended
19:07:26 ticker.c:307: init
19:07:26 ticker.c:129: running
19:07:26 ticker.c:216: event: scheduled 14:30:00, now 18:07:26
19:07:26 ticker.c:243: resource tick 14:30:00
19:07:26 ticker.c:246: resource tick ended


nach 2 startversuchen des tickers
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon Stoan » 25.02.2005, 21:42

Hm, normalerweise bleibt er nur hängen,
während er etwas macht,
hier ist er immer hängengeblieben,
nachdem er fertig war.

Vieleicht solltest du mal Grummli fragen.
[17:57] <[CT]danielray> stoan 4 ua admin! die runden werden schneller gestartet ^^
Benutzeravatar
Stoan
Proviantschlepper
Proviantschlepper
 
Beiträge: 99
Registriert: 23.04.2004, 15:43

Beitragvon freddy » 25.02.2005, 22:06

es liegt an der zeit glaube ich
die zeit hat sich mit jedem mal um eine halbe stunde verschoben.
ich hab das ganze so lange gemacht, bis der ticker bei der jetzigen zeit angekommen ist:


21:22:33 ticker.c:307: init
21:22:33 ticker.c:129: running
21:22:33 ticker.c:216: event: scheduled 19:30:00, now 20:22:33
21:22:33 ticker.c:243: resource tick 19:30:00
21:22:33 ticker.c:246: resource tick ended
21:22:37 ticker.c:307: init
21:22:37 ticker.c:129: running
21:22:37 ticker.c:216: event: scheduled 20:00:00, now 20:22:37
21:22:37 ticker.c:243: resource tick 20:00:00
21:22:37 ticker.c:246: resource tick ended
21:22:53 ticker.c:307: init
21:22:53 ticker.c:129: running


mal sehen was um 21:30 passiert (die uhr geht eine stunde nach)


EDIT:

während des Wartens bin ich auf ein weiteres Problem gestoßen

Ich kann mittlerweile Accounts anlegen, aber immer wenn ich mich einloggen will kommt ein weißer Bildschirm mit der foldenden Nachricht:

Fatal error: Call to undefined function posix_getpid() in F:\web\dokumente\ugaagga\game\sessionstart.php on line 22
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon Stoan » 25.02.2005, 22:24

Das mit der Zeit sind nur die verpassten Ticks, die nachgeholt werden,
daran kann es meines wissens kaum gelegen haben.
wahrscheinlich ist einer der ressourcen-ticks nicht ganz korrekt.
du hast doch vorhin irgendwelche datenbankfelder verändert,
sind die änderungen schon in der datenbank übernommen?


Die funktion posix_getpid() scheint eine funktion von php zu sein, also könnte es daran liegen, dass bei dir extensions fehlen, oder du eine neue/alte Version von php hast.
[17:57] <[CT]danielray> stoan 4 ua admin! die runden werden schneller gestartet ^^
Benutzeravatar
Stoan
Proviantschlepper
Proviantschlepper
 
Beiträge: 99
Registriert: 23.04.2004, 15:43

Beitragvon freddy » 25.02.2005, 22:36

ich benutze php 5.0.1

bei den extensions siehts bei mir so aus:


;extension=php_bz2.dll
;extension=php_cpdf.dll
;extension=php_curl.dll
;extension=php_dba.dll
;extension=php_dbase.dll
;extension=php_dbx.dll
;extension=php_exif.dll
;extension=php_fdf.dll
;extension=php_filepro.dll
extension=php_gd2.dll
;extension=php_gettext.dll
;extension=php_iconv.dll
;extension=php_ifx.dll
;extension=php_iisfunc.dll
;extension=php_imap.dll
;extension=php_interbase.dll
;extension=php_java.dll
;extension=php_ldap.dll
;extension=php_mbstring.dll
;extension=php_mcrypt.dll
;extension=php_mhash.dll
;extension=php_mime_magic.dll
;extension=php_ming.dll
;extension=php_mssql.dll
;extension=php_msql.dll
extension=php_mysql.dll
;extension=php_oci8.dll
;extension=php_openssl.dll
;extension=php_oracle.dll
;extension=php_pdf.dll
;extension=php_pgsql.dll
;extension=php_shmop.dll
;extension=php_snmp.dll
;extension=php_sockets.dll
;extension=php_sybase_ct.dll
extension=php_templates.dll
;extension=php_tidy.dll
;extension=php_w32api.dll
;extension=php_xmlrpc.dll
;extension=php_xsl.dll
;extension=php_yaz.dll
;extension=php_zip.dll
freddy
Spielball der Götter
Spielball der Götter
 
Beiträge: 25
Registriert: 11.02.2005, 15:30

Beitragvon fritz » 26.02.2005, 12:55

ein blick im php-manual (fremdwort?) wuerd helfen:
http://de.php.net/manual/de/function.posix-getpid.php

dir fehlt keine extension. die funktion wirds unter windows nicht geben weil se da schlicht ueberfluessig ist. schliesslich verwaltet windows seine prozesse anders.
fritz
Garstiger Forenwurm
Garstiger Forenwurm
 
Beiträge: 264
Registriert: 30.01.2004, 19:24
Wohnort: bei Muenchen

Nächste

Zurück zu Bastelstube für die CVS Version

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste