Dlangui can't build x64 example1.exe , because the size_t is ulong on winx64

Rikki Cattermole via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Sat May 3 02:10:09 PDT 2014


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.


More information about the Digitalmars-d-learn mailing list