www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - Dlangui can't build x64 example1.exe ,because the size_t is ulong on

reply "FrankLike" <1150015857 qq.com> writes:
Hi,everyone,

I build the dlangui on win7 x64,use the debug win32,it can get 
the example1.exe,
but use the debug x64,not get the exe file,the error is
	Error: function pointer FreeImage_OpenMemory (ubyte* data = 
null, uint size_in_bytes = 0u) is not callable using argument 
types (ubyte*, 
ulong)	x:\GitHub\dlangui\src\dlangui\graphics\images.d	93	

the reason is the function 'FreeImage_OpenMemory',
it decalres that 'alias da_FreeImage_OpenMemory = FIMEMORY* 
function( BYTE* data = null, DWORD size_in_bytes = 0 )' ,but it's 
args is ulong.

if the size_t not change on x64,and add the new 'longlength' 
maybe a good idea.
Many Projects want to move on x64,but must modify the error 
'size_t  is ulong'.
Then stop to do. if the size_t is not change,  maybe a good idea.

Frank.
May 03 2014
parent "Rikki Cattermole" <alphaglosined gmail.com> writes:
On Saturday, 3 May 2014 at 08:59:40 UTC, FrankLike wrote:
 Hi,everyone,

 I build the dlangui on win7 x64,use the debug win32,it can get 
 the example1.exe,
 but use the debug x64,not get the exe file,the error is
 	Error: function pointer FreeImage_OpenMemory (ubyte* data = 
 null, uint size_in_bytes = 0u) is not callable using argument 
 types (ubyte*, 
 ulong)	x:\GitHub\dlangui\src\dlangui\graphics\images.d	93	

 the reason is the function 'FreeImage_OpenMemory',
 it decalres that 'alias da_FreeImage_OpenMemory = FIMEMORY* 
 function( BYTE* data = null, DWORD size_in_bytes = 0 )' ,but 
 it's args is ulong.

 if the size_t not change on x64,and add the new 'longlength' 
 maybe a good idea.
 Many Projects want to move on x64,but must modify the error 
 'size_t  is ulong'.
 Then stop to do. if the size_t is not change,  maybe a good 
 idea.

 Frank.
Yes size_t is ulong on 64bits and uint of 32bit. Why would you need a new type? If you want it ulong or uint make it so. It should be implicit the conversion between uint and ulong. In the example you gave, I believe you should file a bug report with the developers.
May 03 2014