On Wed, 2020-06-10 at 10:26 -0500, Richard Shaw wrote:
> I'm working on the ability to produce Windows builds of fldigi using
> the Fedora MinGW stack.
> 
> Currently the 32bit builds compile with little to no warnings and
> appear to function properly, however, on 64bit builds there is a ton
> more warnings (I have to use -fpermissive) and the program segfaults
> shortly after launching.
> 
> I have tried to capture a gdb stack trace but it produces no results... zero.

The most common cause of this is work-size incorrectness, e.g. misuse
of LONG vs long, deprecated use of DWORD vs DWORD_PTR, etc. in variable
types being passed to (or returned from) Win32 APIs.  Those warnings
might be indicative of such issues.

> For instance:
> dialogs/fl_digi.cxx: In function 'void cb_mnuVisitURL(Fl_Widget*, void*)':
> dialogs/fl_digi.cxx:2616:68: error: cast from 'HINSTANCE' {aka 
> 'HINSTANCE__*'} to 'int' loses precision [-fpermissive]
>  2616 |  if ((int)ShellExecute(NULL, "open", url, NULL, NULL, SW_SHOWNORMAL) 
> <= 32)
>       |                                                                    ^

HINSTANCE is a pointer, so that's to be expected.  Even though the docs
say to cast to int, INT_PTR might be a safer choice here.

-- 
Yaakov Selkowitz
Senior Software Engineer - Platform Enablement
Red Hat, Inc.

_______________________________________________
mingw mailing list -- [email protected]
To unsubscribe send an email to [email protected]
Fedora Code of Conduct: 
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: 
https://lists.fedoraproject.org/archives/list/[email protected]

Reply via email to