有没有办法离线安装mingw-w64?我尝试了许多官方来源,似乎都需要某种形式的互联网接入。我正在寻找能同时适用于x32和x64系统的软件。我试着查看一下the official repository,但是我不确定这个任务需要哪些文件。
提前感谢!
发布于 2016-08-24 11:30:30
尽管下面的代码还没有完全测试,但离线安装程序似乎是不必要的。根据错误报告的一些屏幕截图,在线安装程序会提出以下问题...
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包管理器-可能非常方便,但对于不能使用它的少数人来说并不方便。
发布于 2017-10-17 21:21:32
可以,如果您先在面向互联网的机器上使用MSYS2的pacman,然后将pacman下载的文件传输到您的脱机机器上,则可以脱机安装mingw-w64。
对于你的问题,pacman的伟大之处在于它将捕获所有依赖项的正确版本。
在你面向互联网的机器上:
使用http://www.msys2.org/
pacman -Syu
mkdir ~/offline_packages cd ~/offline_packages pacman -Syw base-devel mingw-w64-x86_64-toolchain --cachedir。
repo-add脚本将所有内容打包到一个数据库中:repo-add./offline.db.tar.gz./*
~/offline_packages复制到外部闪存驱动器。在您的脱机计算机上:
offline_packages文件夹从闪存驱动器复制到MSYS2可以访问的路径(例如C:/msys64/home/user/offline_packages)C:/msys64/etc/pacman.conf1. 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
pacman -Syu
mingw-w64-x86_64-toolchain
-S --需要base base-devel
参考资料:https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks#Installation_and_recovery
https://stackoverflow.com/questions/38393755
复制相似问题