dark alex
07.04.2007, 19:13
Hi!
Ich hab ein Problem:
Eines unserer Programme benutzt MySQL++, und unter anderem diesen Befehl:
sql_create_c_names_XXX(....
XXX ist eine Zahl, die die Anzahl der abzurufenden Felder aus der Tabelle enthält. nachfolgend werden dann die Felder inklusive typ etc aufgelistet.
Doku: http://mysql.teleglobe.net/documentation/mysql++/7_Specialized.html Recht weit unten, 7.8!
So.
Bei uns funktioniert das perfekt. Die Zahl ist immer < 26
ABER eine Tabelle benötigt 30 felder. Der Befehl muss also sql_create_c_names_30 heißen. Wenn XXX aber größer als 25 wird, gibt es diesen Fehler:
In file included from ../gflib/dbhelpers.h:6,
from ../gflib/gflib.h:6,
from includes.h:21,
from source.cpp:12:
../gflib/tables.h:7: error: `flotten' was not declared in this scope
../gflib/tables.h:9: error: parse error before `,' token
../gflib/tables.h:9: error: `id' was not declared in this scope
../gflib/tables.h:10: error: parse error before `,' token
../gflib/tables.h:10: error: `befehl' was not declared in this scope
../gflib/tables.h:11: error: parse error before `,' token
../gflib/tables.h:11: error: `metall' was not declared in this scope
../gflib/tables.h:12: error: parse error before `,' token
../gflib/tables.h:12: error: `treibstoff' was not declared in this scope
../gflib/tables.h:13: error: parse error before `,' token
Und so weiter. Der listet alle Felder auf.
Nach der Auflistung kommt das:
../gflib/tables.h:38: error: ISO C++ forbids declaration of `
sql_create_c_names_30' with no type
../gflib/tables.h:38: error: initializer list being treated as compound
expression
Und dann fehler bei der Verarbeitung der Daten, das sind folgefehler, die hierraus folgen.
Ich habs mit gcc und g++ proiert. gleiches Ergebnis bei beiden.
Würde ich 5 Felder entfernen, ginge es. Ich benötige aber alle 30.
Woran liegt das?
Sorry, ich selber kann kein C++, und mein Kumpel, ders kann ist nicht da. (Urlaub)
//Edit:
Ich sollte noch sagen, das der Server unter Debian läuft, und auf einem früheren Server gings auch mit der 30.
(war SuSE, daran liegts sicher net, es ging auch schonmal mit Debian)
Ich hab ein Problem:
Eines unserer Programme benutzt MySQL++, und unter anderem diesen Befehl:
sql_create_c_names_XXX(....
XXX ist eine Zahl, die die Anzahl der abzurufenden Felder aus der Tabelle enthält. nachfolgend werden dann die Felder inklusive typ etc aufgelistet.
Doku: http://mysql.teleglobe.net/documentation/mysql++/7_Specialized.html Recht weit unten, 7.8!
So.
Bei uns funktioniert das perfekt. Die Zahl ist immer < 26
ABER eine Tabelle benötigt 30 felder. Der Befehl muss also sql_create_c_names_30 heißen. Wenn XXX aber größer als 25 wird, gibt es diesen Fehler:
In file included from ../gflib/dbhelpers.h:6,
from ../gflib/gflib.h:6,
from includes.h:21,
from source.cpp:12:
../gflib/tables.h:7: error: `flotten' was not declared in this scope
../gflib/tables.h:9: error: parse error before `,' token
../gflib/tables.h:9: error: `id' was not declared in this scope
../gflib/tables.h:10: error: parse error before `,' token
../gflib/tables.h:10: error: `befehl' was not declared in this scope
../gflib/tables.h:11: error: parse error before `,' token
../gflib/tables.h:11: error: `metall' was not declared in this scope
../gflib/tables.h:12: error: parse error before `,' token
../gflib/tables.h:12: error: `treibstoff' was not declared in this scope
../gflib/tables.h:13: error: parse error before `,' token
Und so weiter. Der listet alle Felder auf.
Nach der Auflistung kommt das:
../gflib/tables.h:38: error: ISO C++ forbids declaration of `
sql_create_c_names_30' with no type
../gflib/tables.h:38: error: initializer list being treated as compound
expression
Und dann fehler bei der Verarbeitung der Daten, das sind folgefehler, die hierraus folgen.
Ich habs mit gcc und g++ proiert. gleiches Ergebnis bei beiden.
Würde ich 5 Felder entfernen, ginge es. Ich benötige aber alle 30.
Woran liegt das?
Sorry, ich selber kann kein C++, und mein Kumpel, ders kann ist nicht da. (Urlaub)
//Edit:
Ich sollte noch sagen, das der Server unter Debian läuft, und auf einem früheren Server gings auch mit der 30.
(war SuSE, daran liegts sicher net, es ging auch schonmal mit Debian)