Build 如何在Windows上构建MinGW x64

Build 如何在Windows上构建MinGW x64,build,64-bit,mingw-w64,Build,64 Bit,Mingw W64,这里有这样一个问题: 但是,没有回答 我通过阅读mingw-w64-howto-build.txt完成了我的家庭作业,但它写得一点也不好 下面是该文件的一部分: ==安装Mingw-w64标头集并创建所需的符号链接==[HDRSYM] 步骤1:标题的源目录可以是 mingw-w64/trunk/mingw-w64-headers或mingw-w64/mingw-w64-headers 取决于你的来源 步骤2创建另一个构建目录,并输入它。安装 头文件,运行:../path/to/configur

这里有这样一个问题:

但是,没有回答

我通过阅读mingw-w64-howto-build.txt完成了我的家庭作业,但它写得一点也不好

下面是该文件的一部分:

==安装Mingw-w64标头集并创建所需的符号链接==[HDRSYM]

步骤1:标题的源目录可以是 mingw-w64/trunk/mingw-w64-headers或mingw-w64/mingw-w64-headers 取决于你的来源

步骤2创建另一个构建目录,并输入它。安装 头文件,运行:../path/to/configure-build= \-host=x86_64-w64-mingw32-prefix=/mypath,然后运行make 安装以安装标头

什么是前缀?我应该在这里走哪条路

步骤3 GCC要求将x86_64-w64-mingw32目录镜像为 同一根目录中的目录“mingw”。因此,如果使用configuredefault /usr/本地,类型: ln-s/usr/local/x86_64-w64-mingw32/usr/local/mingw,或者,对于sysroot,键入: ln-s/mypath/x86_64-w64-mingw32/mypath/mingw

我如何知道我是否在使用默认值?如果我的系统上存在此/usr/local/mingw,那么它应该在哪里? 我的路径到底是什么??什么道路? 我已经在C:\MinGW中安装了MinGW,它应该用于构建这个x64。这和这个简单的链接有什么关系吗

步骤4手动创建x86_64-w64-mingw32/lib目录: mkdir-p/usr/local/x86_64-w64-mingw32/lib,对于sysroot: mkdir-p/mypath/x86_64-w64-mingw32/lib如果它已经存在并且您得到一个错误,请忽略它

对于sysroot?这是什么意思

步骤5将x86_64-w64-mingw32/lib目录符号链接为 x86_64-w64-mingw32/lib64: ln-s/usr/local/x86_64-w64-mingw32/lib/usr/local/x86_64-w64-mingw32/lib64或,对于sysroot: ln-s/mypath/x86_64-w64-mingw32/lib/mypath/x86_64-w64-mingw32/lib64

对于sysroot?这是什么意思?二,

我自己尝试了一些东西,但结果是:

配置:错误:请检查是否设置了mingw-w64标头和 已正确设置生成/主机选项。配置:错误: ../../mingw-w64-crt/为mingw-w64-crt配置失败


我认为,如果您必须拥有最小的Gnu Windows 64位Gnu编译器集合,那么您应该签入MinGWTDM64。如果你担心MinGW32不符合你的目的,你可能是被误导了,尽管我不能确定你想做什么,或者这是否可能。但我发现了TDM龙?至少最近,在保持两者的最新性方面比mingw组织本身做得更好

如果您不能遵循上面的内容,我认为这更适合您,因为上面的内容在很大程度上反映了*nices的FSSTND文件系统层次结构标准。配置工具是GNU构建系统q.v.的一部分。请尝试Wikipedia,因此了解它需要知道它希望在预定路径上找到哪些源文件,以及在哪里写入目标文件。这将带您完成在您的环境或平台、机器、操作系统等中为您的编译设置正确的头文件,以便生成一个能够正确运行的产品编译器

因为Gnu不是Unix Gnu,Windows当然不是,所以从一个工具集生成一个编译器来处理这两个工具集都是复杂的可读性问题。构建编译器也不是开发人员职业生涯的第一步。所以,除非你准备好在血淋淋的小路上无休止的心碎,如果允许我给你一个小小的比喻,请你再逗我一次,我建议你买一个现成的包裹

我劝过你了吗?不,别说我没试过。构建工具对编译的重要性在于,配置本身是由它们构建的。通常有一组GNU要求的安装说明,比如说要构建这个包,让我们打个招呼,World要让它保持在一个相当安全的环境中,您必须首先运行它

$>/配置

$> make
这本身就是一种严重的过分简化,因为其中任何一种都可能采用不同的参数,包括您打算使用的编译器的类型和位置,以及您打算在哪里安装产品。但是,让我们不要分歧太多。说明将继续说明,在这些包中的许多包中,configure是使用autotools集构建的,但您不必重新构建它来编译此版本的helloworld

IMHO不应该总是大写、斜体、粗体强调,并尽可能经常重复。通常,只有当您拥有与作者相同的平台架构、处理器、操作系统和环境时,才不需要重新构建配置。如果你很幸运,而且作者很全面,你偶尔会在windows机器上编译一个干净的helloworld 尽管作者最初是在linux机器上构建的

我建议不要构建GCC mingw32、64或其他任何风格的软件的一个重要原因是,我不建议您在没有生成自己的GNU发行版的情况下尝试理解自动工具,即使它只是为了实践。你会问,如果我连编译器都没有,我该怎么做?我能理解你的挫折感,甚至在一定程度上与你分享

如果您仍然希望在不使用MinGWTDM或类似工具的情况下自己将此编译器套件安装到Windows机器上,那么您应该首先让它在Linux环境中在家中运行。一旦您看到构建是如何工作的,它就会变得更加清晰。不过,我看不出有任何可能生成完整编译器集的干净编译,甚至是C编译器,真的。哈佛大学的大卫·马兰(David Malan)教授CS50远程使用虚拟化环境,这些虚拟化环境与实际安装非常相似。它是免费的,他甚至在此过程中教授C语言,这将使您了解在不同环境中构建的关键编译器选项

如果你不想运行虚拟机,或者你没有得到构建虚拟机的指令,而不仅仅是构建一个编译器,信不信由你,你可以在某处安装某种品牌的Linux。我不建议在Windows机器上执行此操作,尽管可能会进行双重启动,因为它可能比构建编译器或虚拟机更具破坏性

这样做,然后从Sourceforge下载一些Linux源代码包,这是强烈推荐的—您不需要糟糕的配置或构建脚本。按照说明操作。在Linux上构建它们,然后在windows上重复这个过程你可以用32位编译器来完成,除非有人告诉你不能[99.9%的时间]

转到其中一个autotools/autoconf教程,而不是手册页面,稍后再这样做,以了解练习的详细含义。将您自己的helloworld包放在一起,生成您自己的配置,以便您知道它在做什么。首先在Linux下这样做以确保更大的成功机会,然后将其“移植”到Windows。明智的一句话——避免任何带有信号的东西——它们不是在Windows下实现的,我甚至不确定我关于如何实现它的想法是否可行

说到这里,我想说一些更令人恼火的事情:虽然mingw-w64-howto-build.txt编写得不是特别好,但它并不像新手看到的那样糟糕。事实上,我要说的是,它是为新手以外的任何人编写的。由于从源代码构建编译器的过程,特别是在其原始主页之外构建编译器的过程,并不是一件小事,如果您能找到任何人能够在不使用大量相同词汇的情况下向您解释它,我会感到惊讶。做这类事情的人彼此交谈的方式完全相同。他们通常在编写代码和构建脚本方面做得比上述工作差得多

但是,如果您没有选择更容易实现的方法,那么为了解决您的第一个问题,@prefix@或在脚本中首先调用的任何东西都是一种主目录树,a代表构建源,b代表构建目标,c代表构建安装。Unix是基于MULTICS的,MULTICS本身提醒我们,在微软开发XENIX之前,比尔·盖茨的工作都是多用户操作或处理器控制系统。多用户包含多个帐户、多个角色和多个构建/安装树的概念

为自己构建编译器——特别是在构建的最后一部分是安装过程的情况下——将不同于为同一台机器的其他用户构建编译器。让我们进一步扩展这个概念:假设你这样做不是为了你自己和你的朋友——你这样做是为了你的公司,或者更可能是为了你的安装。在本例中,您的安装类似于部署的基础:您不仅需要为您和在您的计算机上拥有帐户的朋友构建编译器,还需要为您的老板、操作员、管理员和程序员构建编译器,您的设计师——以及任何其他可能需要编译器来完成工作的人。您可能有几种类型的编译器必须共存,用于实验、开发、生产和测试的编译器可能是不同的版本和/或格式副本

构建和安装树有许多共同点。前缀试图解决这个问题。当我为自己的小沙盒构建时,我使用了一个前缀,我将其设置为~/local。那是一个特别的地方,适合“尼斯”~是Windows中$HOME或%HOME%的快捷方式。这是进行练习构建的最佳场所。它不需要特殊的权限,但对liv的内容可能有一些限制 在那里。PREFIX并不能解决所有问题,但它让配置工具知道构建和安装树的根目录。按照David Malan的说法,如果我要在/home/jharvard/local//src中构建代码,并且某些工具的某些版本将坚持完整路径而不是通常的快捷方式~//src,那么沙盒编译的前缀将是~/local或/home/jharvard/local,并给出合理的文件系统标准命名约定,您生成和/或存在的可执行文件将位于~/local/bin中,您的库位于~/local/lib中,而您的include头位于~/local/include中,而您只是在自己的帐户中使用它。这些东西是怎么进入这些目录的?都是你造的。您可能从mingw-w64-howto-build.txt文件中引用的源代码中借用了类似于标题的内容

一些幸存了一段时间的工具被推广到更广泛的用户群中:它们进入/usr/local/src/usr/local/bin/usr/local/lib/usr/local/include。等 看到前缀了吗?一个问题是,要升级到那里,您必须是具有该路径写入权限的开发人员,否则您的配置将失败

有些工具的安装范围根本不是本地的:它们可能使用/usr/lib和/usr/include从/usr/src编译到/usr/bin,这是另一个前缀

在只有上帝编译的系统根目录下,工具进入/bin本身,如果不是/sbin,那么这些子树可以在系统中的不同树上找到,它们的用途不同,比如/usr/local/experimental/src、/usr/bullpen/development/etc、/usr/production/bin

我认为人们选择不回答这样的帖子的原因越来越清楚了,但出于各种各样的原因,这个练习可能对很多人有用

至于什么是默认值,它是默认值-当您没有使用其他东西时,您知道您正在使用默认值。实际上,他告诉您默认值是什么,因为他告诉您如果使用configure default/usr/local,那么configure default前缀是/usr/local。如果你不使用其他任何东西,那就意味着你需要打字

$>/配置

而不是

$>./configure-prefix=/home/veryambitious/local

随着一些成功的构建,你引用的指令变得清晰如泥。对于sysroot,sysroot决定mypath的位置—您只需担心编译程序的构建、安装和运行位置。正如我前面所说的,您希望这样做的目的不仅仅是要有一个最新的:有很多更简单的方法来实现这一点,并获得最新的错误修复。如果您的目标只是拥有一个最新的本机编译器,那么我想不出任何理由在系统根上执行此操作—在层次结构顶部的某个位置,或者在您计划调用系统根的装入点。当我使用CMake构建GNU autotools的潜在竞争对手时,但不使用GNU产品,特别是gcc,它会将默认安装目录指定为C:\Program Files\Anywhere-我确信这对某些人来说是“事实上”的标准

你的来源在你的机器上的最终位置取决于你如何获得它。路径中带有“trunk”的一个版本是svn gcc,它将从subversion CMS存储库中检索。如果你有某种类型的柏油球,你的树可能会不同。subversion树将包含许多在“目标tarball”中无法获得的内容,比如已经为您的环境设置的构建树。然而,由于它是为软件配置管理而维护的,因此它将经常使用最新的更改进行维护。有时,工具生成器会添加单独的“工作快照”,以复制特定典型环境的结果

至于符号链接,对于一个符号链接来说,这确实是一个很好的名字,我甚至不确定它在Windows7中是否会被翻译成NT4.0。符号链接不是硬链接,因为它在inode或文件系统实体的定义中不起重要作用。符号链接是一种轻量级链接,可以在不影响原始文件的情况下删除和更改。作者关于构建带有*x86_64-w64-mingw32*子树链接的gcc的意思是,可以为构建中使用的文件提供通用别名,而无需构建完全不同的子树来获取它们的源代码

您的配置错误是一个更通用的普通错误消息,它会说些什么,而不是什么也不说,让您发现您缺少了大部分需要的内容。这意味着,我不能告诉你哪里出了问题,但我找不到任何我需要开始阅读和生成文件的东西。这一定是一个奇怪的环境,因为我看不到任何地方可以读或写。也许你错过了头文件-你确定你错过了吗 把它们放在正确的地方?如果不是,可能这是一台机器、操作系统或环境,还没有为我定义。这在现实生活中确实会出现,因为人们在一台机器上构建交叉编译器,然后在另一台机器上托管。或用于将托管在另一台计算机上的代码。在这些情况下,您需要添加配置选项-build=mybuild请不要问我它在哪里以及-host=myhost

通常这只是意味着你做的都是错的,你必须按照说明来构建与你的整个配置相匹配的gcc。有很多方法可以做到这一点——你提到MINGW,但这并不是全部。您需要来自Windows API的内部函数。Cygwin DLL包含了很多这样的东西——我不知道是否还有人在做这些。MSYS使用类似的方法,但不提供完整的cygwin集。您没有UNIX系统例程,因此需要一些替换程序—在Linux上比在Windows上更容易提供

您的目标将生成可执行文件,这些文件将在MSVCRT Microsoft Visual C运行时的帮助下运行,这是标准结果中的另一个缺陷。有时候,即使你有最新的GCC,MSVCRT也还没有赶上。有时他们只是选择忽略标准,比如格式转换字符串的大小参数——也许他们认为您应该自定义流——谁知道呢


我想我会将此标记为一个社区帖子,因为我确信我很有可能输入了一些极其愚蠢的东西。我希望我已经阐明了如何在windows上编译GCC不会是一项开箱即用的工作。我不可能把一切都写进去,所以我在这一页上乱放了一些线索

如果您必须拥有最小的Gnu Windows 64位Gnu编译器集合,我认为您应该签入MinGWTDM64。如果你担心MinGW32不符合你的目的,你可能是被误导了,尽管我不能确定你想做什么,或者这是否可能。但我发现了TDM龙?至少最近,在保持两者的最新性方面比mingw组织本身做得更好

如果您不能遵循上面的内容,我认为这更适合您,因为上面的内容在很大程度上反映了*nices的FSSTND文件系统层次结构标准。配置工具是GNU构建系统q.v.的一部分。请尝试Wikipedia,因此了解它需要知道它希望在预定路径上找到哪些源文件,以及在哪里写入目标文件。这将带您完成在您的环境或平台、机器、操作系统等中为您的编译设置正确的头文件,以便生成一个能够正确运行的产品编译器

因为Gnu不是Unix Gnu,Windows当然不是,所以从一个工具集生成一个编译器来处理这两个工具集都是复杂的可读性问题。构建编译器也不是开发人员职业生涯的第一步。所以,除非你准备好在血淋淋的小路上无休止的心碎,如果允许我给你一个小小的比喻,请你再逗我一次,我建议你买一个现成的包裹

我劝过你了吗?不,别说我没试过。构建工具对编译的重要性在于,配置本身是由它们构建的。通常有一组GNU要求的安装说明,比如说要构建这个包,让我们打个招呼,World要让它保持在一个相当安全的环境中,您必须首先运行它

$>/配置

$> make
这本身就是一种严重的过分简化,因为其中任何一种都可能采用不同的参数,包括您打算使用的编译器的类型和位置,以及您打算在哪里安装产品。但是,让我们不要分歧太多。说明将继续说明,在这些包中的许多包中,configure是使用autotools集构建的,但您不必重新构建它来编译此版本的helloworld

IMHO不应该总是大写、斜体、粗体强调,并尽可能经常重复。通常,只有当您拥有与作者相同的平台架构、处理器、操作系统和环境时,才不需要重新构建配置。如果你运气好,而且作者很全面,你偶尔会在windows机器上编译一个干净的helloworld,即使作者最初是在linux机器上编译的

我建议不要构建GCC mingw32、64或其他任何风格的软件的一个重要原因是,我不建议您在没有生成自己的GNU发行版的情况下尝试理解自动工具,即使它只是为了实践。你会问,如果我连编译器都没有,我该怎么做?我能理解你的沮丧,甚至能把它分享给一个朋友 重点

如果您仍然希望在不使用MinGWTDM或类似工具的情况下自己将此编译器套件安装到Windows机器上,那么您应该首先让它在Linux环境中在家中运行。一旦您看到构建是如何工作的,它就会变得更加清晰。不过,我看不出有任何可能生成完整编译器集的干净编译,甚至是C编译器,真的。哈佛大学的大卫·马兰(David Malan)教授CS50远程使用虚拟化环境,这些虚拟化环境与实际安装非常相似。它是免费的,他甚至在此过程中教授C语言,这将使您了解在不同环境中构建的关键编译器选项

如果你不想运行虚拟机,或者你没有得到构建虚拟机的指令,而不仅仅是构建一个编译器,信不信由你,你可以在某处安装某种品牌的Linux。我不建议在Windows机器上执行此操作,尽管可能会进行双重启动,因为它可能比构建编译器或虚拟机更具破坏性

这样做,然后从Sourceforge下载一些Linux源代码包,这是强烈推荐的—您不需要糟糕的配置或构建脚本。按照说明操作。在Linux上构建它们,然后在windows上重复这个过程你可以用32位编译器来完成,除非有人告诉你不能[99.9%的时间]

转到其中一个autotools/autoconf教程,而不是手册页面,稍后再这样做,以了解练习的详细含义。将您自己的helloworld包放在一起,生成您自己的配置,以便您知道它在做什么。首先在Linux下这样做以确保更大的成功机会,然后将其“移植”到Windows。明智的一句话——避免任何带有信号的东西——它们不是在Windows下实现的,我甚至不确定我关于如何实现它的想法是否可行

说到这里,我想说一些更令人恼火的事情:虽然mingw-w64-howto-build.txt编写得不是特别好,但它并不像新手看到的那样糟糕。事实上,我要说的是,它是为新手以外的任何人编写的。由于从源代码构建编译器的过程,特别是在其原始主页之外构建编译器的过程,并不是一件小事,如果您能找到任何人能够在不使用大量相同词汇的情况下向您解释它,我会感到惊讶。做这类事情的人彼此交谈的方式完全相同。他们通常在编写代码和构建脚本方面做得比上述工作差得多

但是,如果您没有选择更容易实现的方法,那么为了解决您的第一个问题,@prefix@或在脚本中首先调用的任何东西都是一种主目录树,a代表构建源,b代表构建目标,c代表构建安装。Unix是基于MULTICS的,MULTICS本身提醒我们,在微软开发XENIX之前,比尔·盖茨的工作都是多用户操作或处理器控制系统。多用户包含多个帐户、多个角色和多个构建/安装树的概念

为自己构建编译器——特别是在构建的最后一部分是安装过程的情况下——将不同于为同一台机器的其他用户构建编译器。让我们进一步扩展这个概念:假设你这样做不是为了你自己和你的朋友——你这样做是为了你的公司,或者更可能是为了你的安装。在本例中,您的安装类似于部署的基础:您不仅需要为您和在您的计算机上拥有帐户的朋友构建编译器,还需要为您的老板、操作员、管理员和程序员构建编译器,您的设计师——以及任何其他可能需要编译器来完成工作的人。您可能有几种类型的编译器必须共存,用于实验、开发、生产和测试的编译器可能是不同的版本和/或格式副本

构建和安装树有许多共同点。前缀试图解决这个问题。当我为自己的小沙盒构建时,我使用了一个前缀,我将其设置为~/local。那是一个特别的地方,适合“尼斯”~是Windows中$HOME或%HOME%的快捷方式。这是进行练习构建的最佳场所。它不需要特别的许可,但可能对那里的生活有一些限制。PREFIX并不能解决所有问题,但它让配置工具知道构建和安装树的根目录。按照David Malan的说法,如果我要在/home/jharvard/local//src中构建代码,并且某些工具的某些版本将坚持完整路径而不是通常的快捷方式~//src,那么沙盒编译的前缀将是~/local或/home/jharvard/local,并提供一个合理的文件 系统标准命名约定,您生成和/或存在的可执行文件将位于~/local/bin中,您的库位于~/local/lib中,而您的include头位于~/local/include中,而您只是在自己的帐户中使用它。这些东西是怎么进入这些目录的?都是你造的。您可能从mingw-w64-howto-build.txt文件中引用的源代码中借用了类似于标题的内容

一些幸存了一段时间的工具被推广到更广泛的用户群中:它们进入/usr/local/src/usr/local/bin/usr/local/lib/usr/local/include。等 看到前缀了吗?一个问题是,要升级到那里,您必须是具有该路径写入权限的开发人员,否则您的配置将失败

有些工具的安装范围根本不是本地的:它们可能使用/usr/lib和/usr/include从/usr/src编译到/usr/bin,这是另一个前缀

在只有上帝编译的系统根目录下,工具进入/bin本身,如果不是/sbin,那么这些子树可以在系统中的不同树上找到,它们的用途不同,比如/usr/local/experimental/src、/usr/bullpen/development/etc、/usr/production/bin

我认为人们选择不回答这样的帖子的原因越来越清楚了,但出于各种各样的原因,这个练习可能对很多人有用

至于什么是默认值,它是默认值-当您没有使用其他东西时,您知道您正在使用默认值。实际上,他告诉您默认值是什么,因为他告诉您如果使用configure default/usr/local,那么configure default前缀是/usr/local。如果你不使用其他任何东西,那就意味着你需要打字

$>/配置

而不是

$>./configure-prefix=/home/veryambitious/local

随着一些成功的构建,你引用的指令变得清晰如泥。对于sysroot,sysroot决定mypath的位置—您只需担心编译程序的构建、安装和运行位置。正如我前面所说的,您希望这样做的目的不仅仅是要有一个最新的:有很多更简单的方法来实现这一点,并获得最新的错误修复。如果您的目标只是拥有一个最新的本机编译器,那么我想不出任何理由在系统根上执行此操作—在层次结构顶部的某个位置,或者在您计划调用系统根的装入点。当我使用CMake构建GNU autotools的潜在竞争对手时,但不使用GNU产品,特别是gcc,它会将默认安装目录指定为C:\Program Files\Anywhere-我确信这对某些人来说是“事实上”的标准

你的来源在你的机器上的最终位置取决于你如何获得它。路径中带有“trunk”的一个版本是svn gcc,它将从subversion CMS存储库中检索。如果你有某种类型的柏油球,你的树可能会不同。subversion树将包含许多在“目标tarball”中无法获得的内容,比如已经为您的环境设置的构建树。然而,由于它是为软件配置管理而维护的,因此它将经常使用最新的更改进行维护。有时,工具生成器会添加单独的“工作快照”,以复制特定典型环境的结果

至于符号链接,对于一个符号链接来说,这确实是一个很好的名字,我甚至不确定它在Windows7中是否会被翻译成NT4.0。符号链接不是硬链接,因为它在inode或文件系统实体的定义中不起重要作用。符号链接是一种轻量级链接,可以在不影响原始文件的情况下删除和更改。作者关于构建带有*x86_64-w64-mingw32*子树链接的gcc的意思是,可以为构建中使用的文件提供通用别名,而无需构建完全不同的子树来获取它们的源代码

您的配置错误是一个更通用的普通错误消息,它会说些什么,而不是什么也不说,让您发现您缺少了大部分需要的内容。这意味着,我不能告诉你哪里出了问题,但我找不到任何我需要开始阅读和生成文件的东西。这一定是一个奇怪的环境,因为我看不到任何地方可以读或写。也许你错过了头文件-你确定你把它们放在正确的地方了吗?如果不是,可能这是一台机器、操作系统或环境,还没有为我定义。这在现实生活中确实会出现,因为人们在一台机器上构建交叉编译器,然后在另一台机器上托管。或用于将托管在另一台计算机上的代码。在这些情况下,您需要添加配置选项-build=mybuild请不要问我它在哪里以及-host=myhost

平常的 这只是意味着你做的都是错的,你必须按照说明来构建与你的整个配置相匹配的gcc。有很多方法可以做到这一点——你提到MINGW,但这并不是全部。您需要来自Windows API的内部函数。Cygwin DLL包含了很多这样的东西——我不知道是否还有人在做这些。MSYS使用类似的方法,但不提供完整的cygwin集。您没有UNIX系统例程,因此需要一些替换程序—在Linux上比在Windows上更容易提供

您的目标将生成可执行文件,这些文件将在MSVCRT Microsoft Visual C运行时的帮助下运行,这是标准结果中的另一个缺陷。有时候,即使你有最新的GCC,MSVCRT也还没有赶上。有时他们只是选择忽略标准,比如格式转换字符串的大小参数——也许他们认为您应该自定义流——谁知道呢


我想我会将此标记为一个社区帖子,因为我确信我很有可能输入了一些极其愚蠢的东西。我希望我已经阐明了如何在windows上编译GCC不会是一项开箱即用的工作。我不可能把一切都写进去,所以我在这一页上乱放了一些线索

由于这个巨大的答案,您说服我下载并安装MinGWTDM64。我的注意力范围很少受到阻挠。回到这篇文章,我感觉到了你的痛苦。我觉得它很冗长,但我不确定我怎么能用其他方法来完成它。由于这个巨大的答案,你说服我下载并安装MinGWTDM64。我的注意力范围很少受到阻挠。回到这篇文章,我感觉到了你的痛苦。我觉得它很冗长,但我不确定我怎么能用其他方式来完成它。