2 messages in com.mysql.lists.plusplusRe: Problem to compile very simple code
FromSent OnAttachments
Poizot Emmanuel27 Jun 2002 09:24 
Richard Fox27 Jun 2002 11:14 
Subject:Re: Problem to compile very simple code
From:Richard Fox (rf@sbsii.com)
Date:06/27/2002 11:14:02 AM
List:com.mysql.lists.plusplus

make sure your mysql++ examples compile and run first, then other apps should be fine

Hi, I want to use MySQL++ API, so as a start, I use the following (very) simple code : #include <string> #include <fstream> #include <iostream> #include <sqlplus.hh> void main(int argc, char* argv[]) { cout << "Hello world" << endl; }

Where I just make an iinclude of sqlplus.hh. I compiled this with g++ essai.c -o essai I received the following errors messages : In file included from /usr/local/include/mysql.h:16, from /usr/local/include/connection1.hh:10, from /usr/local/include/mysql.h:14, from /usr/local/include/manip1.hh:10, from /usr/local/include/vallist1.hh:6, from /usr/local/include/row1.hh:11, from /usr/local/include/compare1.hh:5, from /usr/local/include/mysql.h:13, from /usr/local/include/type_info1.hh:10, from /usr/local/include/coldata1.hh:8, from /usr/local/include/mysql.h:12, from /usr/local/include/defs:5, from /usr/local/include/sqlplus.hh:9, from essai.c:5: /usr/local/include/convert1.hh:59: `longlong' was not declared in this scope /usr/local/include/convert1.hh:59: parse error before `,' /usr/local/include/convert1.hh:60: `longlong' was not declared in this scope /usr/local/include/convert1.hh:60: parse error before `,' /usr/local/include/convert1.hh:61: syntax error before `(' /usr/local/include/convert1.hh:62: syntax error before `(' /usr/local/include/convert1.hh:64: `longlong' was not declared in this scope /usr/local/include/convert1.hh:64: template argument 1 is invalid /usr/local/include/convert1.hh:64: explicit specialization of non-template `{anonymous struct}' /usr/local/include/convert1.hh:64: syntax error before `;' /usr/local/include/convert1.hh:64: parse error before `(' /usr/local/include/convert1.hh:64: syntax error before `(' /usr/local/include/convert1.hh: In method `int {anonymous struct}::mysql_convert (const char *, const char *&)': /usr/local/include/convert1.hh:64: `num' undeclared (first use this function) /usr/local/include/convert1.hh:64: (Each undeclared identifier is reported only once for each function it appears in.) /usr/local/include/convert1.hh: At top level: /usr/local/include/convert1.hh:64: parse error at null character /usr/local/include/convert1.hh:65: `ulonglong' was not declared in this scope /usr/local/include/convert1.hh:65: template argument 1 is invalid /usr/local/include/convert1.hh:65: explicit specialization of non-template `{anonymous struct}' /usr/local/include/convert1.hh:65: syntax error before `;' /usr/local/include/convert1.hh:65: parse error before `(' /usr/local/include/convert1.hh:65: syntax error before `(' /usr/local/include/convert1.hh:65: parse error at null character In file included from /usr/local/include/mysql.h:17, from /usr/local/include/connection1.hh:10, from /usr/local/include/mysql.h:14, from /usr/local/include/manip1.hh:10, from /usr/local/include/vallist1.hh:6, from /usr/local/include/row1.hh:11, from /usr/local/include/compare1.hh:5, from /usr/local/include/mysql.h:13, from /usr/local/include/type_info1.hh:10, from /usr/local/include/coldata1.hh:8, from /usr/local/include/mysql.h:12, from /usr/local/include/defs:5, from /usr/local/include/sqlplus.hh:9, from essai.c:5: /usr/local/include/datetime1.hh:44: syntax error before `*' /usr/local/include/datetime1.hh:72: parse error before `*' /usr/local/include/datetime1.hh:73: parse error before `&' /usr/local/include/datetime1.hh:73: invalid return type for function `MysqlDate MysqlDate (...)' /usr/local/include/datetime1.hh:73: since the following virtual functions are abstract: /usr/local/include/datetime1.hh:28: short int MysqlDTbase<T>::compare (const T &) const [with T = MysqlDate] /usr/local/include/datetime1.hh:76: parse error before `&' /usr/local/include/datetime1.hh:77: non-member function `compare (...)' cannot have `const' method qualifier /usr/local/include/datetime1.hh: In function `short int compare (...)': /usr/local/include/datetime1.hh:77: `other' undeclared (first use this function) /usr/local/include/datetime1.hh: At top level: /usr/local/include/datetime1.hh:78: parse error before `}' /usr/local/include/datetime1.hh:80: parse error before `&' /usr/local/include/datetime1.hh:81: `operator<< (...)' must have an argument of class or enumerated type /usr/local/include/datetime1.hh:81: `operator<< (...)' must take exactly two arguments /usr/local/include/datetime1.hh: In function `ostream &operator<< (...)': /usr/local/include/datetime1.hh:81: `d' undeclared (first use this function) /usr/local/include/datetime1.hh:81: `s' undeclared (first use this function) /usr/local/include/datetime1.hh: At top level: /usr/local/include/datetime1.hh:89: syntax error before `*' /usr/local/include/datetime1.hh:117: parse error before `*' /usr/local/include/datetime1.hh:118: parse error before `&' /usr/local/include/datetime1.hh:118: invalid return type for function `MysqlTime MysqlTime (...)' /usr/local/include/datetime1.hh:118: since the following virtual functions are abstract: /usr/local/include/datetime1.hh:28: short int MysqlDTbase<T>::compare (const T &) const [with T = MysqlTime] /usr/local/include/datetime1.hh:121: parse error before `&' /usr/local/include/datetime1.hh:122: non-member function `compare (...)' cannot have `const' method qualifier /usr/local/include/datetime1.hh: In function `short int compare (...)': /usr/local/include/datetime1.hh:122: redefinition of `short int compare (...)' /usr/local/include/datetime1.hh:77: `short int compare (...)' previously defined here /usr/local/include/datetime1.hh: At top level: /usr/local/include/datetime1.hh:123: parse error before `}' /usr/local/include/datetime1.hh:126: parse error before `&' /usr/local/include/datetime1.hh:127: `operator<< (...)' must have an argument of class or enumerated type /usr/local/include/datetime1.hh:127: `operator<< (...)' must take exactly two arguments /usr/local/include/datetime1.hh: In function `ostream &operator<< (...)': /usr/local/include/datetime1.hh:127: redefinition of `ostream &operator<< (...)' /usr/local/include/datetime1.hh:81: `ostream &operator<< (...)' previously defined here /usr/local/include/datetime1.hh: In function `ostream &operator<< (...)': /usr/local/include/datetime1.hh:127: confused by earlier errors, bailing out

M. Preminger proposed me to change the compiled commmand line to : g++ -L/usr/lib/mysql -lsqlplus -lz -lmysqlclient essai.c -o essai but with no success.

I used g++ version 2.96 and MySQL++ 1.7.9 Any idear of what's wrong ?? Thanks, because I'm stuff.

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Emmanuel POIZOT CNAM/INTECHMER B.P. 324 50103 Cherbourg Cedex Tèl : 33 (0)2 33 88 73 42 Fax : 33 (0)2 33 88 73 39 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~