Ticket UUID: | ff5417505be90f5abbbf6ea4c7a3ac3bae6bc8b1 | |||
Title: | xlib/X11/X.h not compilable on x64 Windows, using gcc | |||
Type: | Bug | Version: | current | |
Submitter: | anonymous | Created on: | 2024-05-06 05:22:04 | |
Subsystem: | (unused) | Assigned To: | jan.nijtmans | |
Priority: | 5 Medium | Severity: | Critical | |
Status: | Closed | Last Modified: | 2024-05-06 07:36:24 | |
Resolution: | Fixed | Closed By: | jan.nijtmans | |
Closed on: | 2024-05-06 07:36:24 | |||
Description: |
xlib/X11/X.h needs the following patch in order for it to compile on 64-bit windows, when using x64 builds of mingw-w64 ports of gcc-13 (and probably earlier versions of gcc, too). ###################################### --- X.h_tcl_tk 2024-05-06 11:07:06.086219000 +1000 +++ X.h 2024-05-06 11:43:06.491410400 +1000 @@ -65,7 +65,11 @@ # ifndef _XTYPEDEF_XID # define _XTYPEDEF_XID # ifdef _WIN64 +# if defined(_MSC_VER) typedef unsigned __int64 XID; +# else +typedef unsigned long long XID; +# endif # else typedef unsigned long XID; # endif ###################################### As it stands, the "__int64" type is unknown to these mingw_w64 ports because (I think) _mingw.h has not been included. Cheers, Rob | |||
User Comments: |
jan.nijtmans added on 2024-05-06 07:36:24:
Fixed [cf6c186a3d59ea3f|here]. Thanks for the report. Starting with Tk 8.7/9.0, we no longer support VS < 2015, which means long long is available always. No need to use __int64 at all any more, so this is a good change anyway. |
![](/images/ext.png)