...and to reproduce the successful build and run in Express 2010:
C:\Users\jack\gcl DemoApp.cpp /link user32.lib ole32.lib d2d1.lib
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 16.00.30319.01 for
80x86
Copyright (C) Microsoft Corporation. All rights reserved.
DemoApp.cpp
Microsoft
Fixed the DemoApp.cpp by rewriting the line 216 as follows:
// D2D1_SIZE_F rtSize = m_pRenderTarget-GetSize();
D2D1_SIZE_F rtSize = { 640, 480 };
Seems that calling ID2D1RenderTarget::GetSize() is broken when
called from gcc-compiled object.
This particular method is a bit
Hi Martin,
It's very likely that it's a problem with ABI. Wine had a problem with
this function due to incompatibility of stdcall already:
https://www.winehq.org/pipermail/wine-patches/2014-September/134351.html
Unless stdcall is handled differently for mingw target, we need to fix
it in mingw
A comment in the pointed wine patch explains the situation quite well:
MS ABI handles returning of structure so that the function gets an implicit
extra parameter: address of the memory block to be filled by the function
iplementation.
I verified with the following hack:
(1) In d2d1.h, changed
Hi,
to report that as bug was a bit over-eager. stdcall has nothing to do
with aggregate-return-behavior.
gcc implements this already, and it is part of calling-convention.
The major issue here is that Wine uses gcc in linux-default-mode
(means sysv ABI), but of course MS-stuff expects MS-ABI
Kai,
I'm somewhat confused now. I always thought that stdcall is a calling convention
specified in a context of MS ABI, so that stdcall implies MS ABI at least
for
the purpose of calling of the particular function with the __stdcall specifier.
It's not an area of my expertise, so I may be
Martin,
2014-12-23 16:19 GMT+01:00 Martin Mitáš m...@morous.org:
Kai,
I'm somewhat confused now. I always thought that stdcall is a calling
convention
specified in a context of MS ABI, so that stdcall implies MS ABI at least
for
the purpose of calling of the particular function with the
I am seeing an out of memory message of:
cc1plus.exe: out of memory allocating 65536 bytes
when compiling code using mingw-64 from gcc-4.8.1, gcc-4.8.2, gcc-4.8.3,
gcc-4.9.0, and gcc-4.9.1. Nor is this just a mingw-64 problem as I am
seeing the same error when compiling the same code with