17 messages in com.mysql.lists.pluspluserror C2065: 'ulong' : undeclared ide...
FromSent OnAttachments
Ian Miller28 Dec 2006 20:27 
Warren Young29 Dec 2006 13:38 
gary clark29 Dec 2006 14:58 
gary clark29 Dec 2006 16:18 
Ian Miller30 Dec 2006 05:27 
gary clark31 Dec 2006 07:06 
gary clark02 Jan 2007 13:57 
Matt Dargavel02 Jan 2007 17:23 
gary clark02 Jan 2007 21:17 
gary clark02 Jan 2007 21:22 
gary clark03 Jan 2007 07:34 
Warren Young03 Jan 2007 08:39 
gary clark03 Jan 2007 08:56 
Warren Young04 Jan 2007 15:56 
gary clark05 Jan 2007 08:58 
gary clark05 Jan 2007 15:37 
Warren Young05 Jan 2007 16:05 
Subject:error C2065: 'ulong' : undeclared identifier during build
From:Ian Miller (ian_@yahoo.com)
Date:12/28/2006 08:27:50 PM
List:com.mysql.lists.plusplus

I rediscovered a problem when building mysql++ from source using Visual C++ 2005
express on Windows XP. The original problem is described here:

http://www.dbtalk.net/mailing-database-mysql-plusplus/error-c2065-ulong-undeclared-identifier-350240.html

My coding skills are modest at best, but I think I might have a contribution to
the issue. It appears to arise from a "ulong" variable type being declared in
mysql_com.h , and can be resolved by using a comparable data type recognized by
the MS compiler.

To convince yourself of this, right-click on CLIENT_MULTI_STATEMENTS in
connection.cpp and select "Go To Definition". It will take you to the place
where the constant is declared as (((ulong) 1) << 16)

I searched for the MS-centric equivalent, and ended up finding this page: http://www.codeproject.com/dotnet/Win32APICPlusPlustoDotNET.asp that seemed to suggest that DWORDLONG might be better tolerated. When I tried to
build the code again it compiled.

Bottom line: you can work around this problem easily by changing the two
declarations of constants with "ulong" in mysql_com.h to use "DWORDLONG"
instead. Can anyone with more expertise could confirm the equivalence of the two
variable types?

Anybody with an account on dbtalk.net willing to paste this tip into the
original thread? Just make sure not to include my email address.

Thanks, Ian