Как установить make windows

Обновлено: 07.07.2024

До сих пор мы для сборки нашей программы пользовались командным файлом, объединяющим в себе команды для препроцессинга, компиляции, ассемблирования, компоновки файлов в исполняемый файл. Так тоже делать можно и зачастую так и делается, если дело касается проектов, которые содержат в себе малое количество модулей, а также не требующих какой-то автоматизации процесса сборки.

Но для более грамотной работы с проектом существуют сценарии, работа с которыми осуществляется в утилите Make.

Утилита Make работает с файлами сценариев, в которых описывается, какие цели мы перед собой ставим при сборке нашего проекта, а также то, каким путём мы этих целей будем добиваться. Также в файлах сценариев поддерживается очень много всего, что описать в рамках одного занятия невозможно. Поэтому в данном уроке мы проведём только очень краткое знакомство с написанием данных сценариев, создадим такой сценарий, который поможет нам собрать наш проект и увидим, что изменилось по сравнению с использованием командных файлов для сборки проектов, какие у нас появились новые возможности благодаря использованию утилиты Make.

Так как мы работаем с системой сборки MinGW, основанной на системе GNU, соответственно, и утилита Make будет также из этой системы.

Авторами GNU make являются Richard Stallman и Roland McGrath. Начиная с версии 3.76, разработкой программы руководит Paul D. Smith.

В файле сценария обязательно должно присутствовать хотя бы одно правило.

Правило состоит из цели, зависимостей или пререквизитов, обязательных для достижения цели, а также одной или нескольких команд, которые для достижения данной цели будут выполняться.


Команды перечисляются каждая с новой строки. Перед каждой такой командой мы используем табуляцию. Без этого сценарий работать не будет.

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

В качестве пререквизитов (зависимостей) как правило используются другие цели, представляющие собой, как правило, имена файлов. Также могут использоваться и фиктивные цели. Но об этом не в данном уроке.

Чтобы было немного понятнее, давайте поработаем всё-таки с утилитой Make на практике.

Создадим проект, как и прежде, из проекта прошлого занятия с именем MYPROG19 и присвоим ему имя MYPROG20.

Файл build.cmd можно будет теперь удалить. clean.cmd пока оставим.

Все лишние файлы из папки с нашей программой должны быть удалены, должны остаться только файлы с исходными текстами. Если это не так, то дадим команду clean.

Я следую инструкциям человека, репозиторий которого я клонировал на свою машину. Я хочу просто: иметь возможность использовать команду make как часть настройки среды кода. Но я использую Windows и поискал в Интернете только файл make.exe для загрузки, файл make-4.1.tar.gz для загрузки (я не знаю, что с ним делать дальше) и кое-что о загрузке MinGW (для GNU; но после его установки я не нашел упоминания о "make").

Мне не нужен компилятор GNU или подобные вещи; Я хочу использовать только make в Windows. Скажите, пожалуйста, что мне нужно сделать для этого?

make - это команда GNU, поэтому единственный способ получить ее в Windows - это установить версию Windows, подобную той, которую предоставляет GNUWin32. В любом случае, есть несколько способов получить это:

  1. Используя MinGW, убедитесь, что у вас есть C:\MinGW\bin\mingw32-make.exe . В противном случае вам не хватает mingw32-make additional utilities . Найдите ссылку на странице HowTo для MinGW, чтобы установить его. Как только вы его получите, у вас будет два варианта:

1.1 Скопируйте исполняемый файл make MinGW в make.exe :

1.2 Создайте ссылку на фактический исполняемый файл в вашем PATH. В этом случае при обновлении MinGW ссылка не удаляется:

Другой вариант - использовать Chocolatey. Для начала вам нужно установить этот менеджер пакетов. После установки вам просто необходимо установить make :

Последний вариант - установка подсистемы Windows для Linux (WSL), так что у вас будет выбранный вами дистрибутив Linux, встроенный в Windows 10, где вы сможете установить make , gcc и все инструменты, необходимые для создания программ на языке C.

  1. Установить нпм
  2. установить узел
  3. Установить Make node install make up node install make, если в приведенных выше командах отображается какая-либо ошибка, затем установите Chocolatey (choco) Откройте cmd и скопируйте и вставьте приведенную ниже команду (команда скопирована из шоколадного URL) @ "% SystemRoot% \ System32 \ WindowsPowerShell \ v1.0 \ powershell.exe "-NoProfile -InputFormat None -ExecutionPolicy Bypass -Command" [System.Net.ServicePointManager] :: SecurityProtocol = 3072; iex ((New-Object System.Net.WebClient) .DownloadString ('https: // шоколадный .org / install.ps1 ')) "&& SET" PATH =% PATH%;% ALLUSERSPROFILE% \ chocolatey \ bin "

Одно из решений, которое может оказаться полезным, если вы хотите использовать эмулятор командной строки cmder. Вы можете установить установщик пакетов по отдельности. Сначала мы устанавливаем по очереди в командной строке Windows, используя следующую строку:

После установки chocolatey можно использовать команду choco для установки make. После установки вам нужно будет добавить псевдоним в /cmder/config/user_aliases.cmd. Следует добавить следующую строку:

После этого Make будет работать в среде cmder.

Могу предложить пошаговый подход.

  1. Посетите GNUwin.
  2. Загрузите программу установки
  3. Следуйте инструкциям и установите GNUWin. Обратите внимание на каталог, в который устанавливается ваше приложение. (Вам понадобится позже1)
  4. Следуйте эти инструкции и добавьте make в переменные среды. Как я уже говорил вам раньше, теперь пора узнать, где было установлено ваше приложение. К сведению: каталог по умолчанию - C:\Program Files (x86)\GnuWin32\ .
  5. Теперь обновите PATH, чтобы включить каталог bin недавно установленной программы. Типичный пример того, что можно добавить к пути: . ;C:\Program Files (x86)\GnuWin32\bin

Другой альтернативой является то, что если вы уже установили minGW и добавили папку bin в переменную среды Path, вы можете использовать «mingw32-make» вместо «make».

Вы также можете создать символическую ссылку от «make» к «mingw32-make» или скопировать и изменить имя файла. Я бы не рекомендовал эти варианты раньше, они будут работать, пока вы не внесете изменения в minGW.

Если вы используете Windows 10, она встроена в подсистему Linux. Просто запустите командную строку Bash (нажмите клавишу Windows, затем введите bash и выберите «Bash в Ubuntu в Windows»), cd перейдите в каталог, который вы хотите создать, и введите make .

FWIW, диски Windows находятся в /mnt , например Диск C:\ - это /mnt/c в Bash.

Если Bash недоступен в меню «Пуск», вот инструкции по включению этой функции Windows (только для 64-разрядной версии Windows):

Альтернативой является установка make через Chocolatey (как указано @Vasantha Ganesh K)

Другой альтернативой является установка MSYS2 из Chocolatey и использование make из C:\tools\msys64\usr\bin . Если make не устанавливается автоматически вместе с MSYS2, вам необходимо установить его вручную через pacman -S make (как указано @Thad Guidry и @Luke).

GNU make доступен для шоколадного.

Установите шоколад с здесь.

Затем choco install make .

Теперь вы сможете использовать Make в Windows.
Я пробовал использовать его на MinGW, но он должен работать и на CMD.

Загрузите make.exe с официального сайта GnuWin32

В сеансе загрузки щелкните Полный пакет, кроме исходников .

Следуйте инструкциям по установке.

По завершении добавьте <installation directory>/bin/ в переменную PATH.

Я установил MinGW и MSYS, добавил C:\MinGW\bin в PATH , но я все еще не могу запустить Makefile в Windows cmd . Я хотел бы запустить cmd.exe и там введите, например, make all , но мой cmd говорит, что такой команды нет.

Что мне делать? Я не хочу использовать оболочку MSYS, это не главное. Любые идеи о том, как использовать GNU Make в Windows cmd, как я могу это сделать в Ubuntu? Меня не интересует Cygwin .

Вот как я получил его для работы:

Затем я могу открыть командную строку и набрать make:

Это означает, что он работает сейчас!

Хотя этот вопрос старый, его все же задают многие, кто использует MSYS2.

Я начал использовать его в этом году, чтобы заменить CygWin, и я очень доволен.

Чтобы установить make , откройте оболочку MSYS2 и введите следующие команды:

Вы можете добавить папку приложения в свой путь из командной строки, используя:

Обратите внимание, что вам, вероятно, нужно будет открыть новое окно команд для изменения измененного параметра пути.

В качестве альтернативы, если вы просто хотите установить make, вы можете использовать диспетчер пакетов chocolatey для установки gnu make с помощью

choco install make -y

Это касается любых проблем с путями, которые могут у вас возникнуть.

Ответ пользователя 1594322 хороший, у меня сейчас работает (mingw64). Спасибо!

Git 2.24 (Q4 2019) показывает, что:


test-tool run-command : научиться управлять (частями) тестового набора

2 ГБ дискового пространства.

Гораздо более естественной средой разработки для Windows является Visual Studio. Чтобы помочь разработчикам использовать эту среду, у нас уже есть цель Makefile vcxproj , которая генерирует коммит с файлами проекта (и другими сгенерированными файлами), и ветвь vs/master Git for Windows непрерывно перегенерируется с использованием этой цели.

Идея состоит в том, чтобы позволить сборку Git в Visual Studio и запускать отдельные тесты с использованием Portable Git.

Я следую инструкциям кого-то, чей репозиторий я клонировал на свою машину. Я хочу просто: иметь возможность использовать команду make как часть настройки среды кода. Но я использую Windows, и я искал в Интернете только для того, чтобы найти файл make.exe для загрузки, файл make-4.1.tar.gz для загрузки (я не знаю, что с ним делать дальше), а также о том, что загружая MinGW (для GNU, но после установки я не нашел упоминания о "make").

Я не хочу компилятор GNU или связанные с ним вещи; Я просто хочу использовать "make" в Windows. Скажите, пожалуйста, что я должен сделать, чтобы это сделать.

ОТВЕТЫ

Ответ 1

make - это команда GNU, поэтому единственный способ получить ее в Windows - установить версию Windows, подобную той, которая предоставлена GNUWin32. Или вы можете установить MinGW, а затем выполнить:

или создайте ссылку на фактический исполняемый файл в вашей переменной PATH. В этом случае, если вы обновите MinGW, ссылка не будет удалена:

Другой вариант - использовать Шоколадный. Сначала вам нужно установить этот менеджер пакетов. После установки вам необходимо установить make :

Последний вариант - установка подсистемы Windows для Linux (WSL), поэтому у вас будет встроенный дистрибутив Linux на Windows 10, куда вы сможете установить make , gcc и все инструменты, необходимые для создания программ на Си.

Ответ 2

GNU make доступен на шоколадной основе.

Затем choco install make .

Теперь вы сможете использовать Make на Windows.
Я пытался использовать его на MinGW, но он должен работать и на CMD.

Ответ 3

Альтернативой является установка make через Chocolatey (как указано @Vasantha Ganesh K)

Другой альтернативой является установка MSYS2 из Chocolatey и использование make из C:\tools\msys64\usr\bin . Если make не устанавливается автоматически с MSYS2, вам нужно установить его вручную с помощью pacman -S make (как указано @Thad Guidry и @Luke).

Ответ 4

Ответ 5

Если вы используете Windows 10, она встроена в функцию подсистемы Linux. Просто запустите приглашение Bash (нажмите клавишу Windows, затем введите bash и выберите "Bash в Ubuntu в Windows"), cd в каталог, который вы хотите создать, и введите make .

FWIW, диски Windows находятся в /mnt , например, C:\ drive - это /mnt/c в Bash.

Если Bash недоступен в меню "Пуск", ниже приведены инструкции по включению этой функции Windows (только для 64-разрядной версии Windows):

Ответ 6

Скачайте make.exe с их официального сайта GnuWin32

В сеансе загрузки щелкните Полный пакет, кроме источников.

Следуйте инструкциям по установке.

По завершении добавьте <installation directory>/bin/ в переменную PATH.

Теперь вы сможете использовать make в cmd.

Ответ 7

Другой вариант - если вы уже установили minGW и добавили папку bin в переменную окружения Path, вы можете использовать "mingw32-make" вместо "make".

Вы также можете создать символическую ссылку из "make" в "mingw32-make" или скопировать и изменить имя файла. Я бы не рекомендовал варианты раньше, они будут работать, пока вы не внесете изменения в minGW.

Anonim

Dhoom | медленный мо | Болливуд

У меня есть несколько демо, которые я скачал, и они идут с Makefile.win и Makefile.sgi. Как я могу запустить их в Windows для компиляции демонстраций?

  • 3 Я должен упомянуть, что я больше люблю Linux, но мне нужно использовать Windows прямо сейчас, поэтому я немного невежественен.
  • 2 Здесь дано очень четкое руководство

Если у вас Visual Studio, запустите командную строку Visual Studio из меню Пуск, перейдите в каталог, содержащий Makefile.win и введите это:

Вы также можете использовать обычную командную строку и запустить vsvars32.bat (c: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ Common7 \ Tools for VS2008). Это настроит среду для запуска nmake и поиска инструментов компилятора.

Ознакомьтесь с cygwin, Unix-подобной средой для Windows

  • 7 cygwin у меня сработал !. Мне просто нужно было проверить во время установки некоторые пакеты в Devel : make, а также gcc, как описано здесь.
  • 10 Я также рекомендую установить cygwin с помощью chocolatey, поэтому команда для получения make это: choco install make --source=cygwin
  • после установки с помощью choco, как я могу добавить его в свою командную оболочку? есть путь, который нужно добавить?
  • 4 Если вы установили его с помощью choco, добавьте эту строку (в кавычках) к вашей переменной пути в системных переменных "C: \ tools \ cygwin \ bin"

Ознакомьтесь с маркой GnuWin (для окон), который предоставляет собственный порт для Windows (без необходимости полной среды выполнения, такой как Cygwin)

Если у вас есть winget, вы можете установить его через CLI следующим образом:

Также не забудьте добавить путь установки в вашу систему. PATH :

  • 9 Кроме того, добавьте "C: \ Program Files (x86) \ GnuWin32 \ bin" в PATH вашей системы.
  • Вы также можете подумать об изменении каталога установки, чтобы избежать пробелов и скобок, поскольку они могут вызвать проблемы с запуском CLI.

Вы можете установить GNU make с шоколадным, хорошо поддерживаемым менеджером пакетов, который добавит make к глобальному пути и запускается на всех интерфейсах командной строки (powershell, git bash, cmd и т. д.), что позволяет сэкономить массу времени как при обслуживании, так и при первоначальной настройке для запуска make.

Установите шоколадный менеджер пакетов для Windows
совместим с Windows 7+ / Windows Server 2003+

Бежать choco install make

Я не связан с choco, но очень рекомендую его, пока он меня никогда не подводил, и у меня есть талант непреднамеренно взламывать программы.

Вот мой быстрый и временный способ запустить Makefile

  • скачать сделать из SourceForge: gnuwin32
  • установить это
  • перейти в папку установки

C: \ Program Files (x86) \ GnuWin32 \ bin

  • скопировать все файлы в мусорном ведре в папка, содержащая Makefile
  • откройте cmd(вы можете сделать это с щелкните правой кнопкой мыши со сдвигом) в папке, содержащей Makefile, и запустите

Кроме того, вы можете добавить аргументы после команды, например

  • 12 Наверное, лучше добавить bin каталог для PATH переменная окружения. Это сделает make.exe доступно из любого места.
  • 1 Я думаю, что это делается по умолчанию - по крайней мере, так было, когда я установил gnuwin32. Конечно, копирование файлов в любом случае - плохая практика.
  • 1 По умолчанию (или не в моем случае) это не делается. Добавив его в путь, вы можете запустить сделать из папки проекта.
  • Работай как чемпион

Если вы установите Cygwin. Обязательно выберите make в установщике. Затем вы можете запустить следующую команду, если у вас есть Makefile.

В Visual Studio 2017 мне пришлось добавить эту папку в переменную env пути в Windows 10:

Также есть HostX86

Часто предоставляются стандартные файлы Makefile Linux и NMake выглядит многообещающе. Однако следующая ссылка берет простой файл Makefile Linux и объясняет некоторые фундаментальные проблемы, с которыми можно столкнуться. Он также предлагает несколько альтернатив работе с Make-файлами Linux в Windows.

Make-файлы в Windows

После этого, когда вам нужно, откройте командную строку и выполните vsvars32.bat чтобы добавить пути ко всем необходимым инструментам Visual Studio в системный путь.

Тогда вы можете позвонить nmake -f makefile.mak

PS: Путь к общим инструментам Visual Studio может отличаться в вашей системе. Пожалуйста, измените его соответствующим образом.

Я пробовал с cygwin и gnuwin, и у меня ничего не получилось, я думаю, потому что make-файл использовал в основном конкретный код Linux.

Что сработало, так это использовать Ubuntu Bash для Windows 10. Это Marvel, если вы пришли из MAC, как и мой случай:

Дополнительно:

Я использую набор инструментов MinGW, который предоставляет mingw32-make инструмент сборки, если он у вас есть PATH системные переменные, в командной строке Windows просто перейдите в каталог, содержащий файлы, и введите эту команду:

Я полагаю, вы добавили mingw32/bin добавляется в переменные среды, иначе добавьте его, и я предполагаю, что это компилятор gcc, и у вас есть установщик mingw.

Первый шаг: скачать mingw32-make.exe из установщика mingw или проверьте mingw/bin папка сначала ли mingw32-make.exe существует или нет, кроме установки, переименуйте его в make.exe .

После переименования в make.exe , просто зайдите и запустите эту команду в каталоге, где makefile расположен. Вместо переименования вы можете напрямую запустить его как mingw32-make .

В конце концов, команда - это просто исполняемый файл или программное обеспечение, мы используем его имя для выполнения программного обеспечения, мы называем его командой.

Поэтому, если вы используете Vscode и Mingw, сначала убедитесь, что bin папка mingw включен в путь к среде, и рекомендуется изменить mingw32-make.exe к make чтобы облегчить задачу, а затем создать makefile и включите в него этот код.

Затем сохраните файл makefile и откройте Vscode Code терминал и написать make . Тогда makefile будет запущен.

Читайте также: