首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MinGW-w64脱机安装程序

MinGW-w64脱机安装程序
EN

Stack Overflow用户
提问于 2016-07-15 18:24:50
回答 2查看 32.9K关注 0票数 15

有没有办法离线安装mingw-w64?我尝试了许多官方来源,似乎都需要某种形式的互联网接入。我正在寻找能同时适用于x32和x64系统的软件。我试着查看一下the official repository,但是我不确定这个任务需要哪些文件。

提前感谢!

EN

回答 2

Stack Overflow用户

发布于 2016-08-24 11:30:30

尽管下面的代码还没有完全测试,但离线安装程序似乎是不必要的。根据错误报告的一些屏幕截图,在线安装程序会提出以下问题...

代码语言:javascript
复制
Version .......... seems to be the GNU GCC version number
Architecture ..... i686 / x86_64
Threads .......... posix / win32
Exception ........ dwarf / sjlj / seh
Build Revision ... 0 / 1 / 2 / ...

Install folder ... e.g. c:\mingw

Create desktop shortcuts?

前5个选项用于选择单个下载包。我不知道你是怎么想的,但我不知道线程和异常该选什么。纯粹从下载数据来看,POSIX线程的使用率是win32的两倍多,64位的seh似乎更受欢迎,32位的dwarf更受欢迎,而sjlj似乎非常不受欢迎。我猜32位的posix和dwarf是默认的。

为了确定选项是什么,它使用了来自this folder的文件repository.txt。这只是一个以管道分隔的文本文件-5个字段用于这5个主要选项,外加一个用于下载的包的URL。

顺便说一句,如果有人知道在哪里可以找到安装程序的源代码,我真的很感谢你的评论-我到处寻找,找到了例如bug报告,但没有找到安装程序的源代码。不过,mingw-64二进制包的源代码很容易找到。

二进制包本身位于this folder (Win32)this folder (Win64)的子文件夹中。

我不确定安装程序提供创建的快捷方式是什么-这是MinGW-w64,而不是MSYS或MSYS2,所以没有基于bash的shell提供快捷方式。它们可能只是设置了路径的Windows命令提示符快捷方式。

除了快捷方式问题之外,您所要做的就是将包解压到一个合适的文件夹中,确保mingw32\bin或mingw64\bin文件夹以某种方式位于路径上,您应该就完成了。我已经用一个32位的gcc-5.4.0包对此进行了测试- g++编译了一个hello-world,没有任何问题。

在子文件夹中有一些替代的第三方构建版本,从更远的一步开始,here (32 bit)和不同工具链的类似子文件夹针对64位和其他构建版本的*文件夹。ray_linn有各种版本,包括Ada (和Objective C/C++?)支持。rubenvb有一些更老的版本,如GCC和Clang。东升-日报看起来像是每天的构建,甚至包括实验性的GCC 7。

如果你也需要MSYS,请在评论中让我知道。我已经离线安装了一段时间(和MinGW32一起),所以我有一个要安装的包的列表。你需要相当多的包,从SourceForge获取它们是一件痛苦的事情,但是一旦你有了它们,大部分都是再次解包。有一些次要的“安装后”工作要做-一些要创建的文件,主要是在哪里可以找到MinGW,以及创建一个到外壳的快捷方式。我有AutoIt脚本可以做到这一点--有点混乱,使用了不合适的方法,因为它们是我当时在AutoIt中所知道的,但它们工作得很好。

有MSYS2,但乍一看,这是另一个在线安装假设的问题,使用pacman包管理器-可能非常方便,但对于不能使用它的少数人来说并不方便。

票数 17
EN

Stack Overflow用户

发布于 2017-10-17 21:21:32

可以,如果您先在面向互联网的机器上使用MSYS2的pacman,然后将pacman下载的文件传输到您的脱机机器上,则可以脱机安装mingw-w64。

对于你的问题,pacman的伟大之处在于它将捕获所有依赖项的正确版本。

在你面向互联网的机器上:

使用http://www.msys2.org/

  • Run pacman -Syu

  • In中的 installer更新您的MSYS2终端的软件包数据库,创建一个文件夹来包含您想要的软件包(即MSYS2 -W64)。

mkdir ~/offline_packages cd ~/offline_packages pacman -Syw base-devel mingw-w64-x86_64-toolchain --cachedir。

  • 使用pacman的repo-add脚本将所有内容打包到一个数据库中:

repo-add./offline.db.tar.gz./*

  • 将MSYS2安装程序和~/offline_packages复制到外部闪存驱动器。

在您的脱机计算机上:

  1. Install MSYS2。
  2. offline_packages文件夹从闪存驱动器复制到MSYS2可以访问的路径(例如C:/msys64/home/user/offline_packages)
  3. Edit C:/msys64/etc/pacman.conf

代码语言:javascript
复制
1. Comment out the `[mingw32], [mingw64], [msys]` repositories.
2. Add a new repository.  This example uses the arbitrary path given above. Modify to point to wherever you copied the offline\_packages folder.

脱机服务器=可选服务器= file:///home/user/offline_packages

  1. 在MSYS2终端中,将pacman数据库与新存储库同步

pacman -Syu

  • 安装mingw-w64等。

mingw-w64-x86_64-toolchain

  • Done!

-S --需要base base-devel

参考资料:https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Installation_and_recovery

票数 11
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38393755

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档