From: Date: July 21 2005 11:14am Subject: Re : RE: 'long long' not supported List-Archive: http://lists.mysql.com/plusplus/4674 Message-Id: MIME-Version: 1.0 Content-Type: text/plain;charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Just for info, I had the same KIND OF problem on windows platform event w= ith 2.0b2 while trying to integrate MYSQL server sources (4.11/4.12a/5.02= b), MYSQL++(1.7/2.0) and JASPER (free JPEG2000 Library). I saw then the = following type redefinition problems : - MYSQL sources defines typedef l= ong long my_longlong =3D> OK - MYSQL++ defines typedef __int64 longlong= - JASPER defines typedef long long longlong When you try to remove th= e definition on MYSQL++ side, you can go on compiling further but you rea= ch SQLString::longlong types. MYSQL++ team, do you think it could be i= nteresting and not destructing regarding MYSQL++ API to redfines 64 bits = types to a name specific to MYSQL++(ex mysqlpp_longlong) as it is done in= MYSQL sources C API to avoid naming conflicts ? NP. > ------= ---- Message d'origine ----------- > Exp=E9diteur : "Purcell Dan Cliffor= d \(UMR-Student\)" > A : "MySQL++ Mailing List" > CC : > Date : Wed, 20 Jul 2005 23:45:28 -0500 >= Objet : RE: 'long long' not supported > Warren Young said: > > If y= ou don't need this feature, you can #define NO_LONG_LONGS, but this > wi= ll 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 repositor= y > version. > > Using the #define NO_LONG_LONGS got rid of that pro= blem, 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/inc= lude -I/usr/include/mysql -c -o test.o test.cpp > In file included fro= m /usr/local/include/query.h:49, > from /usr/local/incl= ude/mysql++.h:45, > from test.cpp:6: > /usr/local/incl= ude/coldata.h:262: redefinition of `template > longlong mysq= lpp::operator+ (mysqlpp::ColData_Tmpl, long int)' > /usr/local/incl= ude/coldata.h:255: `template long int > mysqlpp::operator+ (= mysqlpp::ColData_Tmpl, long int)' previously > declared here > /us= r/local/include/coldata.h:262: redefinition of `template > l= onglong mysqlpp::operator+ (long int, mysqlpp::ColData_Tmpl)' > /us= r/local/include/coldata.h:255: `template long int > mysqlpp:= :operator+ (long int, mysqlpp::ColData_Tmpl)' previously > declared= here > /usr/local/include/coldata.h:262: redefinition of `template > longlong mysqlpp::operator- (mysqlpp::ColData_Tmpl, long = int)' > /usr/local/include/coldata.h:255: `template long int= > mysqlpp::operator- (mysqlpp::ColData_Tmpl, long int)' previously= > declared here > /usr/local/include/coldata.h:262: redefinition of `t= emplate > longlong mysqlpp::operator- (long int, mysqlpp::Co= lData_Tmpl)' > /usr/local/include/coldata.h:255: `template long int > mysqlpp::operator- (long int, mysqlpp::ColData_Tmpl)= ' previously > declared here > > ... the same error is given for the= other operators * , / , % , & , ^ , | , << , >> > > ... then these e= rrors > > In file included from /usr/local/include/manip.h:47, > = from /usr/local/include/vallist.h:31, > f= rom /usr/local/include/row.h:34, > from /usr/local/incl= ude/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 te= st.cpp:6: > /usr/local/include/coldata.h: In instantiation of `mysqlpp::= ColData_Tmpl': > /usr/local/include/datetime.h:14= 7: instantiated from here > /usr/local/include/coldata.h:196: `mysqlpp= ::ColData_Tmpl::operator > longlong () const [with Str =3D mysqlpp:= :const_string]' has already been > declared in `mysqlpp::ColData_Tmpl' > /usr/local/include/coldata.h:200: `mysqlpp::ColD= ata_Tmpl::operator > ulonglong () const [with Str =3D mysqlpp::cons= t_string]' has already been > declared in `mysqlpp::ColData_Tmpl' > 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/loc= al/include/connection.h:39, > from /usr/local/include/q= uery.h:50, > from /usr/local/include/mysql++.h:45, > = from test.cpp:6: > /usr/local/include/coldata.h: In inst= antiation of `mysqlpp::ColData_Tmpl': > /usr/local/include/manip= .h:171: instantiated from here > /usr/local/include/coldata.h:196: `my= sqlpp::ColData_Tmpl::operator > longlong () const [with Str =3D str= ing]' has already been declared in > `mysqlpp::ColData_Tmpl' > = /usr/local/include/coldata.h:200: `mysqlpp::ColData_Tmpl::operator = > ulonglong () const [with Str =3D string]' has already been declared in= > `mysqlpp::ColData_Tmpl' > make: *** [test.o] Error 1 > > t= hanks for your consideration, > -Dan > > -- > MySQL++ Mailing List= > For list archives: http://lists.mysql.com/plusplus > To unsubscribe: = http://lists.mysql.com/plusplus?unsub=3Dnp@stripped > > Nicolas P= ERRIN