Knowledge

Mingw-w64

Source đź“ť

489:
native Windows programs. The environments are MINGW64 and MINGW32 (the original MinGW-w64 environments using gcc, msvcrt, and libstdc++), UCRT64 (adaptation of MINGW64 to ucrt), and CLANG64 (adaptation of UCRT64 to clang and libc++). While Cygwin also provides MinGW-w64 compilers and libraries, the set of available libraries is smaller, and they are not as easily managed due to not being placed in separate prefixes.
484:
There is a main MSYS2 environment (similar to, and in fact derived from, Cygwin's emulation code) with package manager and standard Unix system tool. This way, when managing MSYS2 itself, standard Unix tools can be used unmodified by using the emulated environment. It's also possible to install build
488:
In addition, four environments are provided containing native compilers, build tools and libraries that can be directly used to build native Windows 32-bit or 64-bit programs. The final programs built with the two native environments don't use any kind of emulation and can run or be distributed like
680:
From a cursory spot check of a few files, the crt sources in particular appear to contain too much undocumented material that I suspect may be derived from proprietary sources. I have since avoided looking at the mingw-w64 sources to avoid any taint of copyright abuse. I could well be wrong, but I
311:
principles, since the original MinGW project was not prompt on updating its code base, including the inclusion of several key new APIs and also much needed 64-bit support. In 2008, OneVision then donated the code to Kai Tietz, one of its lead developers, under the condition that it remains open
312:
source. It was first submitted to the original MinGW project, but refused under suspicion of using non-public or proprietary information. For many reasons, the lead developer and co-founder of the MinGW-w64 project, Kai Tietz, decided not to attempt further cooperation with MinGW.
521:, and is updated regularly to keep track of the Cygwin development. It is intended as a development environment, one that developers can manage (using pacman) and run their tools with. Features judged unnecessary for development are removed. 582:
Binaries (executables or DLLs) generated with different C++ compilers (like Mingw-w64 GCC and Visual Studio) are in general not link compatible due to the use of different
715:
However, we would require a formal audit of mingw-64 code, to ensure conformance with our requirements for truly open documentation of sources, before could be completed.
1322: 590:
schemes caused by the differences in C++ runtimes. However, compiled C code is link compatible. Clang is an exception, as it mostly supports MSVC's C++ ABI on Windows.
1119: 962: 485:
tools in the MSYS2 emulated environment in case the user wants to build software that depends on the POSIX emulation layer instead of the native API.
418:
similar to pthreads-win32, with the main difference that it allows GCC to use it as a threads library resulting in functional C++11 thread libraries
878: 1315: 1542: 817: 1593: 1112: 1643: 681:
would rather be safe than jeopardise the future of the mingw32, which has tried to maintain a "clean-room" ethic during its development.
1308: 907: 736: 702: 667: 848: 1057: 1663: 1105: 999: 625: 597:
documentation has up-to-date information about its handling of various windows-specific formats and special tools for doing so.
1028: 480:
Instead of providing a full environment like Cygwin does, MSYS2 tasks itself with being a development and deployment platform.
524:
As with Cygwin, MSYS2 supports path translation for non-MSYS2 software launched from it. For example one can use the command
1608: 1094:- Makefiles to build MinGW on Unix and many common dependencies libraries targeting Win32/64, pre-built packages available 1239: 970: 940: 155: 1668: 1128: 1569: 1377: 1244: 462: 308: 380: 762: 583: 453:
MSYS2 shares this goal of bringing Unix code to Windows machines with several other projects, most notably
343: 97: 870: 458: 218: 71: 567:. The GCC runtime libraries are used (libstdc++ for C++, libgfortran for Fortran, etc.). A packaging of 1658: 564: 176: 1367: 1362: 1179: 663: 792: 1653: 1648: 1502: 813: 124: 237: 1638: 551:
Most languages supported by GCC are supported on the Mingw-w64 port as well. These include C,
245: 899: 647: 1519: 1049: 844: 728: 694: 474: 206: 8: 1164: 659: 210: 180: 1224: 369: 349: 249: 291:. Mingw-w64 can generate 32-bit and 64-bit executables for x86 under the target names 1554: 1527: 1515: 1335: 1020: 991: 617: 439: 438:
MSYS2 ("minimal system 2") is a software distribution and a development platform for
214: 140: 1564: 1406: 1289: 1142: 651: 340:
GCC multilib, which allows users to install 32-bit and 64-bit libraries in parallel
167: 135: 1097: 655: 1507: 1497: 1209: 1199: 494: 477:) in which applications, compiled as Windows EXEs, run as they would under Unix. 466: 415: 363: 1300: 261: 571:'s clang to mingw-w64 is also provided by MSYS2. It supports ARM for Windows ( 1632: 1558: 1511: 587: 326: 172: 1598: 1254: 1148: 273: 253: 241: 1603: 1431: 1229: 1214: 930: 556: 334: 269: 265: 257: 315:
MinGW-w64 provides a more complete Win32 API implementation, including:
1436: 1284: 1274: 1204: 1169: 540: 506: 502: 103: 35: 25: 1344: 963:"Interoperability of Libraries Created by Different Compiler Brands" 450:
world on Windows. It plays the same role the old MSYS did in MinGW.
279:
Mingw-w64 can be run natively on Microsoft Windows, cross-hosted on
1470: 1465: 594: 160: 528:
to launch an editor that will open the file with the Windows path
1523: 1371: 1279: 1269: 1264: 1259: 1219: 1194: 560: 359: 353: 330: 233: 16:
Free, open-source, CLI tools for creating Windows-native binaries
1357: 1249: 1189: 1184: 1174: 935: 454: 443: 388: 288: 1425: 1411: 1401: 1234: 552: 470: 414:
Additionally, the Mingw-w64 project maintains winpthreads, a
384: 374: 280: 222: 148: 144: 128: 871:"How to Get an Unix/Linux Environment on Windows with MSYS2" 1613: 1485: 1441: 1415: 1331: 568: 510: 447: 407: 307:
In 2005, Mingw-w64 was created by OneVision Software under
1081: 784: 536: 320: 41: 758: 329:(pthreads) support (including the possibility to enable 191: 1086: 845:"How does MSYS2 differ from Cygwin · msys2/Msys2 Wiki" 1127: 612: 610: 1091: 256:), a set of freely distributable Windows specific 1330: 729:"Re: Harmonizing mingwrt / w32api with mingw-w64" 695:"Re: Harmonizing mingwrt / w32api with mingw-w64" 1630: 607: 517:(~20MB) that is derived from the Cygwin library 1316: 1113: 645: 1323: 1309: 1120: 1106: 648:"Re: Sub project for w64 header & crt" 535:MSYS2 and its bash environment is used by 465:binaries run on Windows through a managed 209:suite of developments tools that generate 543:for their official Windows distribution. 1455:Ports of Unix-like utilities for Windows 692: 928: 664:000001c7dd83$ 9ae74310$ fe6d65da@THOMAS 1631: 868: 839: 837: 835: 493:The main MSYS2 environment provides a 333:thread-related functionality in GCC's 283:(or other Unix), or "cross-native" on 1304: 1101: 943:from the original on 29 November 2020 726: 446:, that helps to deploy code from the 1609:Windows Interface Source Environment 1050:"GNU Binary Utilities Documentation" 910:from the original on 30 October 2020 820:from the original on 28 January 2020 765:from the original on 18 October 2019 739:from the original on 28 January 2020 705:from the original on 28 January 2020 513:programs. It uses a runtime library 1570:Windows Subsystem for Linux (WSL 2) 1391:Development environments and shells 1378:Windows Subsystem for Linux (WSL 1) 832: 13: 1644:C (programming language) compilers 1240:Open and Free Technology Community 806: 268:, a Windows-native version of the 40:Kai Tietz, Jonathan Yong, various 14: 1680: 1484:Windows runtime environments for 1075: 929:Storsjö, Martin (23 April 2020). 900:"Package: mingw-w64-x86_64-clang" 670:from the original on 23 July 2020 1543:Platform virtualization software 693:Marshall, Keith (19 July 2009). 526:notepad++ /c/Users/John/file.txt 398:(an improved version of MinGW's 1664:Free compilers and interpreters 1129:Software in the Public Interest 1060:from the original on 2020-02-19 1042: 1031:from the original on 2020-02-14 1013: 1002:from the original on 2021-01-26 984: 955: 922: 892: 881:from the original on 2022-09-30 851:from the original on 2023-02-15 795:from the original on 2021-02-07 628:from the original on 2019-07-05 576: 572: 529: 525: 296: 292: 276:, and miscellaneous utilities. 77:11.0.1 / April 29, 2023 1245:Open Bioinformatics Foundation 869:Biswas, Supriyo (2017-04-29). 862: 777: 751: 720: 686: 646:Danny Smith (13 August 2007). 639: 309:cleanroom software engineering 1: 600: 381:Structured Exception Handling 346:entry point (wmain/wWinMain) 7: 727:Tietz, Kai (20 July 2014). 546: 459:Windows Subsystem for Linux 54:; 19 years ago 10: 1685: 814:"ZSH on Windows via MSYS2" 473:environment (as a windows 394:Some useful tools such as 302: 284: 227:Minimalist GNU for Windows 179:(compiler and toolchain), 177:GNU General Public License 1589: 1582: 1550: 1541: 1493: 1483: 1461: 1454: 1397: 1390: 1368:Windows Services for UNIX 1363:Microsoft POSIX subsystem 1353: 1343: 1157: 1135: 469:. Cygwin provides a full 442:, based on Mingw-w64 and 391:on x86-64 (from gcc 4.8+) 186: 166: 154: 134: 120: 96: 92: 70: 66: 48: 34: 24: 1503:Willows Toolkit for UNIX 433: 262:static import libraries 238:GNU Compiler Collection 79:; 16 months ago 1669:Public-domain software 996:Clang 11 documentation 530:C:\Users\John\file.txt 461:(WSL). WSL lets Linux 931:"mstorsjo/llvm-mingw" 618:"(MinGW-w64) History" 232:Mingw-w64 includes a 992:"MSVC compatibility" 656:comp.gnu.mingw.devel 410:compiler from Wine). 207:free and open-source 573:aarch64-w64-mingw32 211:Portable Executable 181:Zope Public License 21: 370:Large file support 297:x86_64-w64-mingw32 221:in 2005–2010 from 213:(PE) binaries for 30:OneVision Software 26:Original author(s) 19: 1659:Fortran compilers 1626: 1625: 1622: 1621: 1578: 1577: 1555:Cooperative Linux 1537: 1536: 1479: 1478: 1450: 1449: 1386: 1385: 1298: 1297: 761:. MinGW-w64.org. 577:armv7-w64-mingw32 559:, Objective-C++, 440:Microsoft Windows 383:(SEH) instead of 215:Microsoft Windows 200: 199: 141:Microsoft Windows 1676: 1587: 1586: 1548: 1547: 1491: 1490: 1459: 1458: 1407:Hamilton C shell 1395: 1394: 1351: 1350: 1338:interoperability 1325: 1318: 1311: 1302: 1301: 1290:X.Org Foundation 1143:Martin Michlmayr 1122: 1115: 1108: 1099: 1098: 1069: 1068: 1066: 1065: 1046: 1040: 1039: 1037: 1036: 1017: 1011: 1010: 1008: 1007: 988: 982: 981: 979: 978: 969:. Archived from 959: 953: 952: 950: 948: 926: 920: 919: 917: 915: 896: 890: 889: 887: 886: 866: 860: 859: 857: 856: 841: 830: 829: 827: 825: 816:. 26 July 2018. 810: 804: 803: 801: 800: 781: 775: 774: 772: 770: 755: 749: 748: 746: 744: 735:(Mailing list). 724: 718: 717: 712: 710: 701:(Mailing list). 690: 684: 683: 677: 675: 643: 637: 636: 634: 633: 614: 578: 574: 531: 527: 429: 425: 421: 405: 401: 397: 298: 294: 293:i686-w64-mingw32 196: 193: 136:Operating system 116: 113: 111: 109: 107: 105: 87: 85: 80: 62: 60: 55: 22: 18: 1684: 1683: 1679: 1678: 1677: 1675: 1674: 1673: 1654:Cross-compilers 1629: 1628: 1627: 1618: 1574: 1533: 1475: 1446: 1382: 1339: 1329: 1299: 1294: 1210:Gallery Project 1200:freedesktop.org 1153: 1131: 1126: 1078: 1073: 1072: 1063: 1061: 1048: 1047: 1043: 1034: 1032: 1019: 1018: 1014: 1005: 1003: 990: 989: 985: 976: 974: 961: 960: 956: 946: 944: 927: 923: 913: 911: 898: 897: 893: 884: 882: 867: 863: 854: 852: 843: 842: 833: 823: 821: 812: 811: 807: 798: 796: 783: 782: 778: 768: 766: 757: 756: 752: 742: 740: 725: 721: 708: 706: 691: 687: 673: 671: 644: 640: 631: 629: 616: 615: 608: 603: 549: 495:package manager 467:Virtual Machine 436: 427: 423: 419: 416:wrapper library 403: 399: 395: 305: 254:archive manager 190: 102: 88: 83: 81: 78: 58: 56: 53: 49:Initial release 17: 12: 11: 5: 1682: 1672: 1671: 1666: 1661: 1656: 1651: 1646: 1641: 1624: 1623: 1620: 1619: 1617: 1616: 1611: 1606: 1601: 1596: 1590: 1584: 1580: 1579: 1576: 1575: 1573: 1572: 1567: 1562: 1551: 1545: 1539: 1538: 1535: 1534: 1532: 1531: 1505: 1500: 1494: 1488: 1481: 1480: 1477: 1476: 1474: 1473: 1468: 1462: 1456: 1452: 1451: 1448: 1447: 1445: 1444: 1439: 1434: 1429: 1419: 1409: 1404: 1398: 1392: 1388: 1387: 1384: 1383: 1381: 1380: 1375: 1365: 1360: 1354: 1348: 1341: 1340: 1328: 1327: 1320: 1313: 1305: 1296: 1295: 1293: 1292: 1287: 1282: 1277: 1272: 1267: 1262: 1257: 1252: 1247: 1242: 1237: 1232: 1227: 1222: 1217: 1212: 1207: 1202: 1197: 1192: 1187: 1182: 1177: 1172: 1167: 1161: 1159: 1155: 1154: 1152: 1151: 1146: 1139: 1137: 1133: 1132: 1125: 1124: 1117: 1110: 1102: 1096: 1095: 1089: 1084: 1077: 1076:External links 1074: 1071: 1070: 1054:sourceware.org 1041: 1025:sourceware.org 1012: 983: 954: 921: 904:MSYS2 Packages 891: 861: 831: 805: 776: 750: 719: 685: 638: 622:MinGW-w64 Wiki 605: 604: 602: 599: 548: 545: 491: 490: 486: 435: 432: 424:<future> 420:<thread> 412: 411: 402:utility), and 392: 378: 372: 367: 357: 347: 341: 338: 324: 304: 301: 198: 197: 188: 184: 183: 170: 164: 163: 158: 152: 151: 138: 132: 131: 122: 118: 117: 100: 94: 93: 90: 89: 76: 74: 72:Stable release 68: 67: 64: 63: 50: 46: 45: 38: 32: 31: 28: 15: 9: 6: 4: 3: 2: 1681: 1670: 1667: 1665: 1662: 1660: 1657: 1655: 1652: 1650: 1649:C++ compilers 1647: 1645: 1642: 1640: 1639:2005 software 1637: 1636: 1634: 1615: 1612: 1610: 1607: 1605: 1602: 1600: 1597: 1595: 1592: 1591: 1588: 1585: 1581: 1571: 1568: 1566: 1563: 1560: 1559:TopologiLinux 1556: 1553: 1552: 1549: 1546: 1544: 1540: 1529: 1525: 1521: 1517: 1513: 1512:WINE@Etersoft 1509: 1506: 1504: 1501: 1499: 1496: 1495: 1492: 1489: 1487: 1482: 1472: 1469: 1467: 1464: 1463: 1460: 1457: 1453: 1443: 1440: 1438: 1435: 1433: 1430: 1427: 1423: 1420: 1417: 1413: 1410: 1408: 1405: 1403: 1400: 1399: 1396: 1393: 1389: 1379: 1376: 1373: 1369: 1366: 1364: 1361: 1359: 1356: 1355: 1352: 1349: 1346: 1342: 1337: 1333: 1326: 1321: 1319: 1314: 1312: 1307: 1306: 1303: 1291: 1288: 1286: 1283: 1281: 1278: 1276: 1273: 1271: 1268: 1266: 1263: 1261: 1258: 1256: 1253: 1251: 1248: 1246: 1243: 1241: 1238: 1236: 1233: 1231: 1228: 1226: 1223: 1221: 1218: 1216: 1213: 1211: 1208: 1206: 1203: 1201: 1198: 1196: 1193: 1191: 1188: 1186: 1183: 1181: 1178: 1176: 1173: 1171: 1168: 1166: 1163: 1162: 1160: 1156: 1150: 1147: 1144: 1141: 1140: 1138: 1134: 1130: 1123: 1118: 1116: 1111: 1109: 1104: 1103: 1100: 1093: 1090: 1088: 1085: 1083: 1080: 1079: 1059: 1055: 1051: 1045: 1030: 1026: 1022: 1016: 1001: 997: 993: 987: 973:on 2020-11-30 972: 968: 964: 958: 942: 938: 937: 932: 925: 909: 905: 901: 895: 880: 876: 875:Boolean World 872: 865: 850: 846: 840: 838: 836: 819: 815: 809: 794: 790: 789:www.msys2.org 786: 780: 764: 760: 754: 738: 734: 730: 723: 716: 704: 700: 696: 689: 682: 669: 665: 661: 657: 653: 649: 642: 627: 623: 619: 613: 611: 606: 598: 596: 591: 589: 588:name mangling 585: 580: 570: 566: 562: 558: 554: 544: 542: 538: 533: 522: 520: 516: 512: 508: 504: 500: 496: 487: 483: 482: 481: 478: 476: 472: 468: 464: 460: 456: 451: 449: 445: 441: 431: 428:<mutex> 417: 409: 393: 390: 386: 382: 379: 376: 373: 371: 368: 365: 361: 358: 355: 351: 348: 345: 342: 339: 336: 332: 328: 327:POSIX Threads 325: 322: 318: 317: 316: 313: 310: 300: 290: 286: 282: 277: 275: 271: 267: 263: 259: 255: 251: 247: 244:for Windows ( 243: 239: 235: 230: 228: 224: 220: 216: 212: 208: 204: 195: 189: 185: 182: 178: 174: 173:Public domain 171: 169: 165: 162: 159: 157: 153: 150: 146: 142: 139: 137: 133: 130: 126: 123: 119: 115: 101: 99: 95: 91: 75: 73: 69: 65: 51: 47: 43: 39: 37: 33: 29: 27: 23: 1599:Captive NTFS 1421: 1255:OpenEmbedded 1149:Bdale Garbee 1062:. Retrieved 1053: 1044: 1033:. Retrieved 1024: 1015: 1004:. Retrieved 995: 986: 975:. Retrieved 971:the original 966: 957: 945:. Retrieved 934: 924: 912:. Retrieved 903: 894: 883:. Retrieved 874: 864: 853:. Retrieved 822:. Retrieved 808: 797:. Retrieved 788: 779: 767:. Retrieved 753: 741:. Retrieved 732: 722: 714: 707:. Retrieved 698: 688: 679: 672:. Retrieved 641: 630:. Retrieved 621: 592: 581: 550: 534: 523: 518: 515:msys-2.0.dll 514: 509:, and other 498: 492: 479: 452: 437: 413: 314: 306: 278: 274:GNU Debugger 258:header files 242:GNU Binutils 231: 226: 202: 201: 44:contributors 36:Developer(s) 1604:NDISwrapper 1432:MKS Toolkit 1230:LibreOffice 1215:GNU TeXmacs 1145:(President) 1021:"ld: win32" 914:12 February 759:"MinGW-w64" 733:MinGW-dvlpr 699:MinGW-dvlpr 557:Objective-C 519:cygwin1.dll 270:GNU Project 266:Windows API 175:(headers), 1633:Categories 1437:PowerShell 1347:subsystems 1285:SproutCore 1275:PostgreSQL 1205:FreedomBox 1170:Arch Linux 1064:2020-02-10 1035:2020-02-10 1006:2020-02-12 977:2022-09-30 885:2022-09-30 855:2023-02-20 824:30 January 799:2022-09-30 632:2016-02-18 601:References 541:GNU Octave 507:bash shell 503:Arch Linux 121:Written in 112:/mingw-w64 110:/mingw-w64 98:Repository 84:2023-04-29 1520:CrossOver 1422:Mingw-w64 1345:Unix-like 967:mingw.org 652:Newsgroup 335:libstdc++ 246:assembler 217:. It was 203:Mingw-w64 192:mingw-w64 20:MinGW-w64 1471:UnxUtils 1466:GnuWin32 1158:Projects 1058:Archived 1029:Archived 1000:Archived 947:27 April 941:Archived 908:Archived 879:Archived 849:Archived 818:Archived 793:Archived 763:Archived 737:Archived 703:Archived 668:Archived 626:Archived 595:binutils 547:Compiler 400:pexports 264:for the 161:Compiler 1583:Related 1524:Darwine 1372:Interix 1336:Windows 1280:Privoxy 1270:OpenZFS 1265:OpenWrt 1260:OpenVAS 1225:Jenkins 1220:GNUstep 1195:Fluxbox 1180:Drizzle 1087:WinLibs 785:"MSYS2" 743:12 June 709:12 June 674:23 July 660:Usenet: 654::  561:Fortran 377:support 360:DirectX 354:ReactOS 344:Unicode 323:support 319:Better 303:History 240:(GCC), 236:of the 187:Website 168:License 82: ( 57: ( 1528:Proton 1516:Cedega 1358:Cygwin 1250:Open64 1190:FFmpeg 1185:Drupal 1175:Debian 1165:0 A.D. 1136:People 936:GitHub 769:30 May 662:  563:, and 499:Pacman 455:Cygwin 444:Cygwin 426:, and 396:gendef 362:(from 352:(from 289:Cygwin 250:linker 219:forked 1565:Merge 1426:MSYS2 1412:MinGW 1402:DJGPP 1235:MinGW 1082:MSYS2 505:), a 501:from 471:POSIX 434:MSYS2 385:DWARF 375:Win64 331:C++11 285:MSYS2 281:Linux 223:MinGW 205:is a 149:macOS 145:Linux 1614:DXVK 1594:APIW 1508:Wine 1498:Wabi 1486:*nix 1442:UWIN 1416:MSYS 1332:Unix 949:2020 916:2020 826:2020 771:2013 745:2014 711:2014 676:2020 593:The 586:and 584:ABIs 575:and 569:LLVM 539:and 511:Unix 457:and 448:Unix 408:MIDL 406:(an 404:widl 389:sjlj 364:Wine 295:and 260:and 234:port 194:.org 156:Type 106:.net 59:2005 52:2005 1092:MXE 579:). 565:Ada 553:C++ 537:Git 475:DLL 463:ELF 387:or 350:DDK 321:C99 287:or 272:'s 229:). 129:C++ 42:GNU 1635:: 1526:, 1522:, 1518:, 1514:, 1056:. 1052:. 1027:. 1023:. 998:. 994:. 965:. 939:. 933:. 906:. 902:. 877:. 873:. 847:. 834:^ 791:. 787:. 731:. 713:. 697:. 678:. 666:. 658:. 650:. 624:. 620:. 609:^ 555:, 532:. 430:. 422:, 299:. 252:, 248:, 147:, 143:, 127:, 108:/p 104:sf 1561:) 1557:( 1530:) 1510:( 1428:) 1424:( 1418:) 1414:( 1374:) 1370:( 1334:– 1324:e 1317:t 1310:v 1121:e 1114:t 1107:v 1067:. 1038:. 1009:. 980:. 951:. 918:. 888:. 858:. 828:. 802:. 773:. 747:. 635:. 497:( 366:) 356:) 337:) 225:( 125:C 114:/ 86:) 61:)

Index

Original author(s)
Developer(s)
GNU
Stable release
Repository
sf.net/p/mingw-w64/mingw-w64/
C
C++
Operating system
Microsoft Windows
Linux
macOS
Type
Compiler
License
Public domain
GNU General Public License
Zope Public License
mingw-w64.org
free and open-source
Portable Executable
Microsoft Windows
forked
MinGW
port
GNU Compiler Collection
GNU Binutils
assembler
linker
archive manager

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.

↑