C++ 使用另一个程序分发MinGW的最小可能包

C++ 使用另一个程序分发MinGW的最小可能包,c++,deployment,mingw,C++,Deployment,Mingw,我正在开发一种开源编程语言,我希望我的用户能够从他们的程序中分发独立的.exe文件。我的策略是有3个组成部分: 包含解释器的DLL 从C生成一个小的.o对象文件,调用DLL开始执行 生成的.o文件,其中包含用户程序的二进制表示形式,将作为二进制blob与2嵌入。 当用户请求.exe时,2和3链接在一起,生成的可执行文件可以与1一起分发。到目前为止还不错 我现在的问题是,这意味着MinGW必须与该语言捆绑在一起,以便执行链接步骤。我不想让我的用户手动下载MinGW。我的主要受众是儿童,标准的Min

我正在开发一种开源编程语言,我希望我的用户能够从他们的程序中分发独立的.exe文件。我的策略是有3个组成部分:

包含解释器的DLL 从C生成一个小的.o对象文件,调用DLL开始执行 生成的.o文件,其中包含用户程序的二进制表示形式,将作为二进制blob与2嵌入。 当用户请求.exe时,2和3链接在一起,生成的可执行文件可以与1一起分发。到目前为止还不错

我现在的问题是,这意味着MinGW必须与该语言捆绑在一起,以便执行链接步骤。我不想让我的用户手动下载MinGW。我的主要受众是儿童,标准的MinGW发行版超过100兆字节,因此捆绑所有这些内容将破坏我的语言下载的最低要求—目前约为5兆字节

我的问题是:是否有一个明确的文件列表要从\MinGW中删除并与语言捆绑在一起,从而使g++.exe能够将两个.o文件和所需的库链接在一起


可选的解决方案也很受欢迎,例如一个自由可再分发的C++编译器,它更容易与其他应用程序捆绑在一起。

< p>你可以尝试使用并从MinGW中取出g++。它将生成依赖项列表。或者,您可以使用,这将您的占地面积减少到15兆左右。

谢谢您的建议!我不确定dependency walker会带我走多远,因为GNU工具链可能在进程之间有许多依赖关系,而不仅仅是在进程与DLL、Unix方式以及所有这些之间。另外,我将查看cygwin提示: