Warren Young said:
If you don't need this feature, you can #define NO_LONG_LONGS, but this
will only affect MySQL++, not the C API. Also, there were problems with
this mode until very recently in the MySQL++ v2.0 development; I'm not
even sure if the fixes are in beta2. You may have to use the repository
version.
Using the #define NO_LONG_LONGS got rid of that problem, but how can I get around the
problem of all of these redefinitions which result from this change.
g++ -g -Wall -W -I/usr/local/include -I/usr/include/mysql -c -o test.o test.cpp
In file included from /usr/local/include/query.h:49,
from /usr/local/include/mysql++.h:45,
from test.cpp:6:
/usr/local/include/coldata.h:262: redefinition of `template <class Str>
longlong mysqlpp::operator+ (mysqlpp::ColData_Tmpl<Str>, long int)'
/usr/local/include/coldata.h:255: `template <class Str> long int
mysqlpp::operator+ (mysqlpp::ColData_Tmpl<Str>, long int)' previously
declared here
/usr/local/include/coldata.h:262: redefinition of `template <class Str>
longlong mysqlpp::operator+ (long int, mysqlpp::ColData_Tmpl<Str>)'
/usr/local/include/coldata.h:255: `template <class Str> long int
mysqlpp::operator+ (long int, mysqlpp::ColData_Tmpl<Str>)' previously
declared here
/usr/local/include/coldata.h:262: redefinition of `template <class Str>
longlong mysqlpp::operator- (mysqlpp::ColData_Tmpl<Str>, long int)'
/usr/local/include/coldata.h:255: `template <class Str> long int
mysqlpp::operator- (mysqlpp::ColData_Tmpl<Str>, long int)' previously
declared here
/usr/local/include/coldata.h:262: redefinition of `template <class Str>
longlong mysqlpp::operator- (long int, mysqlpp::ColData_Tmpl<Str>)'
/usr/local/include/coldata.h:255: `template <class Str> long int
mysqlpp::operator- (long int, mysqlpp::ColData_Tmpl<Str>)' previously
declared here
... the same error is given for the other operators * , / , % , & , ^ , | , <<
, >>
... then these errors
In file included from /usr/local/include/manip.h:47,
from /usr/local/include/vallist.h:31,
from /usr/local/include/row.h:34,
from /usr/local/include/result.h:38,
from /usr/local/include/connection.h:39,
from /usr/local/include/query.h:50,
from /usr/local/include/mysql++.h:45,
from test.cpp:6:
/usr/local/include/coldata.h: In instantiation of
`mysqlpp::ColData_Tmpl<mysqlpp::const_string>':
/usr/local/include/datetime.h:147: instantiated from here
/usr/local/include/coldata.h:196: `mysqlpp::ColData_Tmpl<Str>::operator
longlong () const [with Str = mysqlpp::const_string]' has already been
declared in `mysqlpp::ColData_Tmpl<mysqlpp::const_string>'
/usr/local/include/coldata.h:200: `mysqlpp::ColData_Tmpl<Str>::operator
ulonglong () const [with Str = mysqlpp::const_string]' has already been
declared in `mysqlpp::ColData_Tmpl<mysqlpp::const_string>'
In file included from /usr/local/include/vallist.h:31,
from /usr/local/include/row.h:34,
from /usr/local/include/result.h:38,
from /usr/local/include/connection.h:39,
from /usr/local/include/query.h:50,
from /usr/local/include/mysql++.h:45,
from test.cpp:6:
/usr/local/include/coldata.h: In instantiation of `mysqlpp::ColData_Tmpl<string>':
/usr/local/include/manip.h:171: instantiated from here
/usr/local/include/coldata.h:196: `mysqlpp::ColData_Tmpl<Str>::operator
longlong () const [with Str = string]' has already been declared in
`mysqlpp::ColData_Tmpl<string>'
/usr/local/include/coldata.h:200: `mysqlpp::ColData_Tmpl<Str>::operator
ulonglong () const [with Str = string]' has already been declared in
`mysqlpp::ColData_Tmpl<string>'
make: *** [test.o] Error 1
thanks for your consideration,
-Dan