用于将MinGW与另一个程序一起分发的最小包

时间:2011-08-20 20:45:59

标签: c++ deployment mingw

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

  1. 包含解释器的DLL
  2. 调用DLL以开始执行的小型.o目标文件(从C生成一次)
  3. 生成的.o文件,其中包含用户程序的二进制表示形式,将作为二进制blob嵌入#2。
  4. 当用户请求.exe时,#2和#3链接在一起,生成的可执行文件可以与#1一起分发。到目前为止一切都很好。

    我现在遇到的问题是,这意味着必须将MinGW与语言捆绑在一起,以便进行链接步骤。我不想让我的用户手动下载MinGW(我的主要观众是孩子),标准MinGW发行版超过100兆字节,因此捆绑所有这些会破坏我语言下载的极简主义(目前约为5 MB) )。

    我的问题是:是否有一个明确的文件列表要从\ MinGW中抽出并与它们自己捆绑在一起,这会使g ++ .exe工作将两个.o文件和所需的库链接在一起?

    也欢迎使用替代解决方案(例如,可以自由再发布的C ++编译器,它更容易与其他应用捆绑在一起)。

1 个答案:

答案 0 :(得分:0)

您可以尝试使用Dependency Walker并从MinGW中翻录g ++。它将生成您的依赖项列表。或者,您可以使用cygwin,这可以将您的足迹减少到大约15兆。