Compilation with winegcc vs compilation in Wine source
Ken Thomases
ken at codeweavers.com
Tue Aug 16 22:27:02 CDT 2016
On Aug 16, 2016, at 10:03 PM, Ruslan Kabatsayev <b7.10110111 at gmail.com> wrote:
>
> On Tue, Aug 16, 2016 at 10:30 PM, Ken Thomases <ken at codeweavers.com> wrote:
>> On Aug 16, 2016, at 1:57 PM, Ruslan Kabatsayev <b7.10110111 at gmail.com> wrote:
>>>
>>> Hello all,
>>>
>>> I'm trying to integrate my program into Wine source and having some
>>> difficulties with doing OpenGL calls. Namely, when I compile the
>>> program with mingw and with winegcc, it works flawlessly. But when I
>>> integrate it into Wine source tree (taking regedit as an example),
>>> stack appears smashed after OpenGL calls.
>>
>>> Apparently in-tree compilation assumes another calling convention for
>>> glLightModelfv here...
>>> What could be the reason for this? How should I set up my Makefile.in
>>> so that it generated a result compatible with opengl32 calling
>>> convention?
>>
>> What headers are you including in the C code? This is probably a result of not having the proper declarations, which would be decorated with calling convention specifications.
>
> As I can see, the system <GL/gl.h> header is included (visible when I
> add an extra function argument and see the file referred to by the
> compiler in its error message). But I don't find gl.h in Wine source
> tree, so I guess this should be OK, no?
You need to *not* include the system header and instead include <wgl.h> and, usually, <wglext.h>.
-Ken
More information about the wine-devel
mailing list