MinGW-w64 автономный установщик

Есть ли способ установить Mingw-W64 в автономном режиме? Я перепробовал много официальных источников, и всем им нужен какой-то доступ в интернет. Я ищу то, что работает как для x32, так и для x64 систем. Я попытался взглянуть на официальный репозиторий, но я не уверен, какие файлы мне нужны для этой задачи.

Заранее спасибо!

4 ответа

Хотя следующее еще не полностью протестировано, автономный установщик кажется ненужным. Основываясь на некоторых снимках экрана для сообщения об ошибке, онлайн-установщик задает следующие вопросы...

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, seh кажется гораздо более популярным для 64-битных, dwarf для 32-битных, sjlj кажется довольно нелюбимым. Я предполагаю, что 32-битный с posix и карликом по умолчанию.

Чтобы определить, какие варианты есть, он использует файл repository.txt из этой папки. Это просто текстовый файл с разделением по конвейеру - 5 полей для этих 5 основных параметров, плюс одно для URL-адреса загружаемого пакета.

Кстати, если кто-то знает, где найти исходный код для установщика, я был бы очень признателен за комментарий - я искал все выше и ниже, нашел, например, отчеты об ошибках, но не нашел источник установщика. Источники бинарных пакетов mingw-64 достаточно легко найти.

Сами бинарные пакеты находятся в подпапках этой папки (Win32) и этой папки (Win64).

Я не уверен, для чего предназначены ярлыки, которые предлагает установщик - это MinGW-w64, а не MSYS или MSYS2, поэтому нет оболочки на основе bash для предоставления ярлыков. Вероятно, это просто ярлыки командной строки Windows с настроенным путем.

Кроме этой проблемы с ярлыками, все, что вам нужно сделать, это распаковать пакет в подходящую папку, убедиться, что папка mingw32\bin или mingw64\bin находится в пути каким-либо образом, и все должно быть сделано. Я уже проверял это с одним из 32-битных пакетов gcc-5.4.0 - g++ без проблем скомпилировал hello-world.

Существуют альтернативные сторонние сборки в подпапках, начиная с еще одного шага (32-битный), и аналогичные подпапки из разных наборов инструментов, предназначенные для папок * для 64-битных и других сборок. ray_linn имеет различные сборки, которые включают поддержку Ada (и Objective C/C++?). У rubenvb есть несколько старых версий GCC и Clang. dongsheng-daily выглядит как ежедневные сборки, даже включая экспериментальный GCC 7.

Если вам нужен MSYS тоже, дайте мне знать в комментариях. Я устанавливал его в автономном режиме (вместе с MinGW32) в течение некоторого времени, поэтому у меня есть список пакетов, которые нужно установить. Вам нужно довольно много пакетов, доставать их из SourceForge будет сложно, но, как только они у вас есть, они просто распаковываются снова. Нужно сделать небольшую "постинсталляцию" - создать файл, в основном, где найти MinGW, плюс создать ярлык для оболочки. У меня есть сценарии AutoIt, чтобы сделать это - немного путаницы, использующие неподходящие методы, потому что они были тем, что я знал в AutoIt в то время, но они работают нормально.

Есть MSYS2, но на первый взгляд это еще одна проблема, предполагающая онлайн-установку с использованием менеджера пакетов pacman - возможно, очень удобная, но не для меньшинства, которое не может его использовать.

Да, вы можете установить Mingw-W64 в автономном режиме, если вы используете MSYS2 pacman сначала на вашем компьютере, подключенном к Интернету, а затем перенесите файлы, загруженные pacman, на автономный компьютер.

На ваш вопрос, самое замечательное в pacman - он выберет правильные версии всех зависимостей.

На вашем интернет-устройстве:

  1. Используйте установщик MSYS2 с http://www.msys2.org/
  2. Запустите MSYS2 и обновите базу данных пакетов с помощью pacman -Syu
  3. В вашем терминале MSYS2 создайте папку, в которой будут находиться нужные вам пакеты (например, mingw-w64)

    mkdir ~/offline_packages
    cd ~/offline_packages
    pacman -Syw base base-devel mingw-w64-x86_64-toolchain --cachedir .
    
  4. Используйте Пакмана repo-add скрипт для объединения всего в базу данных:

    repo-add ./offline.db.tar.gz ./*
    
  5. Скопируйте установщик MSYS2 И ~/offline_packages на вашу внешнюю флешку.

На вашем автономном компьютере:

  1. Установите MSYS2.
  2. Скопируйте offline_packages папку с флэш-накопителя на путь к MSYS2 (например, C:/msys64/home/user/offline_packages)
  3. редактировать C:/msys64/etc/pacman.conf

    1. Закомментируйте [mingw32], [mingw64], [msys] Хранилища.
    2. Добавить новый репозиторий. В этом примере используется произвольный путь, указанный выше. Изменить, чтобы указать, куда вы скопировали папку offline_packages.

      [offline]
      SigLevel = Optional
      Server = file:///home/user/offline_packages
      
  4. В терминале MSYS2 синхронизируйте базу данных pacman с вашим новым хранилищем

    pacman -Syu
    
  5. Установите mingw-w64 и т. Д.

    pacman -S --needed base base-devel mingw-w64-x86_64-toolchain
    
  6. Готово!

Ссылки: https://wiki.archlinux.org/index.php/Pacman/Tips_and_tricks

Ответ @AaronDanielson хорош, но у меня он сработал с небольшой модификацией.

На шаге 5 не указывайте файлы .sig или папку db, поскольку это приведет к ошибке. Вместо этого используйте, например:

      repo-add ./offline.db.tar.gz $(ls -I "*.sig" | grep pkg)

Не нужно использовать только minGW-w64

В качестве страницы загрузкиminGW-w64говорит:

Сердцем проекта Mingw-w64 являются заголовки и библиотеки поддержки для запуска вывода GCC в Windows. Поскольку Mingw-w64 не является базой ни для GCC, ни для binutils, доступно несколько наборов установочных пакетов, объединяющих их.

Кроме того, исходники доступны, но большинство людей захотят получить двоичные файлы напрямую.

МинГВ

Релиз MinGW смотрите в репозитории github по этой ссылке . Загрузите свою версию и скопируйте файлы вC:\MinGW\.

w64devkit

Этот вариант — еще одна альтернатива, которая очень хороша и обновлена. Загляните внутрь выпусков и выберите свою версию. там же есть инструкция по установкеReadme.md. Загрузите нужную версию по этой ссылке .

Другие вопросы по тегам