Bug #7506 mysql.h has errors when compiled with dev-C++
Submitted: 23 Dec 2004 14:08 Modified: 23 Feb 2005 15:58
Reporter: bing zhou Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Server Severity:S2 (Serious)
Version:all version OS:Windows (windows)
Assigned to: CPU Architecture:Any

[23 Dec 2004 14:08] bing zhou
Description:
I'm using Dev-C++ 4.9.9.1 to build a console application under windows-xp home edition. 
The errors are: 
Building Makefile: "E:\myworks\projects\test\hybrid\Makefile.win"
make...
make.exe -f "E:\myworks\projects\test\hybrid\Makefile.win" all
gcc.exe -c memory.c -o memory.o -I"d:/Dev-Cpp/include"  -I"D:/mysql/include"  -I"D:/Program Files/MPICH/SDK/Include"  -I"D:/Program Files/MySQL/MySQL Server 4.1/include"   

gcc.exe -c mysqldb.c -o mysqldb.o -I"d:/Dev-Cpp/include"  -I"D:/mysql/include"  -I"D:/Program Files/MPICH/SDK/Include"  -I"D:/Program Files/MySQL/MySQL Server 4.1/include"   

In file included from D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:57,
                 from mysqldb.c:21:
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:154: error: parse error before "SOCKET"
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:154: warning: no semicolon at end of struct or union
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:181: error: parse error before '}' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:181: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:280: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:281: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:282: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:283: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:284: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:285: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:286: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:287: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:290: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:291: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:298: error: parse error before "s"

In file included from mysqldb.c:21:
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:222: error: parse error before "NET"
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:222: warning: no semicolon at end of struct or union
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:247: error: `scramble' redeclared as different kind of symbol
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:363: error: previous declaration of `scramble'
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:272: error: parse error before '}' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:272: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:280: error: parse error before "MYSQL"
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:280: warning: no semicolon at end of struct or union
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:289: error: parse error before '}' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:289: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:307: error: parse error before "NET"
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:307: warning: no semicolon at end of struct or union
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:313: error: conflicting types for `last_errno'
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:176: error: previous declaration of `last_errno'

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:316: error: conflicting types for `last_error'
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql_com.h:175: error: previous declaration of `last_error'
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:317: error: parse error before '}' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:317: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:354: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:355: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:356: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:357: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:359: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:360: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:361: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:363: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:364: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:365: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:366: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:367: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:368: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:369: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:370: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:371: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:372: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:374: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:374: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:374: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:375: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:378: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:380: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:380: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:386: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:387: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:388: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:389: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:391: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:393: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:393: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:393: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:394: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:394: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:394: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:397: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:399: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:402: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:404: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:412: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:414: error: `mysql_set_local_infile_handler' declared as function returning a function
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:415: error: parse error before "int"
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:423: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:430: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:431: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:433: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:436: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:437: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:439: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:444: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:447: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:451: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:456: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:459: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:460: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:462: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:463: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:466: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:467: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:468: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:471: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:472: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:473: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:474: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:474: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:474: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:475: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:475: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:475: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:476: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:476: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:476: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:477: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:479: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:480: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:482: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:484: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:486: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:487: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:488: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:489: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:489: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:490: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:495: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:499: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:508: error: parse error before ')' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:509: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:512: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:512: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:512: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:513: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:513: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:517: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:518: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:519: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:521: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:524: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:558: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:570: error: parse error before "MYSQL"

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:570: warning: no semicolon at end of struct or union
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:586: error: conflicting types for `last_errno'
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:313: error: previous declaration of `last_errno'

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:590: error: conflicting types for `last_error'
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:316: error: previous declaration of `last_error'
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:603: error: parse error before '}' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:603: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:620: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:621: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:628: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:630: warning: no semicolon at end of struct or union
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:633: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:635: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:636: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:637: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:638: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:639: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:640: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:641: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:642: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:643: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:645: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:648: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:648: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:648: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:649: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:651: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:652: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:653: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:656: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:657: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:658: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:661: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:664: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:665: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:666: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:667: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:668: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:669: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:673: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:673: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:673: warning: data definition has no type or storage class

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:674: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:674: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:674: warning: data definition has no type or storage class
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:675: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:676: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:677: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:678: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:680: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:681: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:682: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:683: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:684: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:685: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:687: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:688: error: parse error before '*' token

D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:689: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:690: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:691: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:692: error: parse error before '*' token
D:/Program Files/MySQL/MySQL Server 4.1/include/mysql.h:717: error: parse error before '*' token
mysqldb.c:30: error: parse error before '*' token
mysqldb.c:30: warning: data definition has no type or storage class
mysqldb.c:31: error: parse error before '*' token
mysqldb.c:31: warning: data definition has no type or storage class
mysqldb.c: In function `connectdb':
mysqldb.c:129: warning: assignment discards qualifiers from pointer target type

make.exe: *** [mysqldb.o] Error 1

How to repeat:
every time when building the exe.
[28 Dec 2004 17:41] MySQL Verification Team
Currently the source compiles fine with the compiler VC++ 6.0.
[23 Jan 2005 13:20] Konstantin Osipov
Have you tried including windows.h before mysql.h?
It should solve the problem (I'm not undermining that we have a bug in mysql.h, as we should probably include windows.h ourselves).
[23 Jan 2005 15:58] Konstantin Osipov
I believe it must be enough to include <mysql.h> to make all libmysql declarations available.
So it is in UNIX, so should it be on Windows.
The reason why I preferred <windows.h> to <my_global.h> is that <my_global.h> contains a lot of internal MySQL declarations, which should not bloat application namespace.
[24 Feb 2005 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".