Как использовать GNU Make в Windows?

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

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

Ответ 1

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

  copy c:\MinGW\bin\mingw32-make.exe c:\MinGW\bin\make.exe

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

  C:\Users\Dell>make
  make: *** No targets specified and no makefile found.  Stop.

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

Ответ 2

Я использую GNU Make из проекта GnuWin32, см. http://gnuwin32.sourceforge.net/, но каких-то обновлений на некоторое время не было, поэтому я не уверен в этом статусе проекта.

Ответ 3

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

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

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

# Update the package database and core system packages
pacman -Syu
# Close shell and open again if needed

# Update again
pacman -Su

# Install make
pacman -S make

# Test it (show version)
make -v

Ответ 4

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

setx PATH "% PATH%; c:\MinGW\bin"

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

Ответ 5

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

choco install make -y

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

Ответ 6

user1594322 дал правильный ответ, но когда я попробовал это, я столкнулся с проблемами администратора/разрешения. Я смог скопировать "mingw32-make.exe" и вставить его, переопределив/обойдя проблемы администратора, а затем отредактировав копию в "make.exe". На VirtualBox в гостях Win7.

Ответ 7

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

Ответ 8

Хотя make сам по себе доступен как отдельный исполняемый файл (gnuwin32.sourceforge.net пакет make), его использование в надлежащей среде разработки означает использование msys2.

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

См. коммит 4668931, коммит b35304b, коммит ab7d854, коммит be5d88e, коммит 5d65ad1, коммит 030a628, коммит 61d1d92, коммит e4347c9, коммит ed712ef, коммит 5b8f9e2, коммит 41616ef, зафиксировать c097b95 (04 октября 2019 г.) и зафиксировать dbcd970 (30 сентября 2019 г.) Йоханнесом Шинделином (dscho).
. (Merged by Junio C Hamano -- [TG43] -- in commit 6d5291b, 15 Oct 2019)

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

Signed-off-by: Johannes Schindelin

Git для Windows переключается между циклами, предоставляя среду разработки, которая позволяет собирать Git и запускать его набор тестов.

Для этого вся система MSYS2, включая GNU make и GCC, предлагается как "Git для Windows SDK".
Это имеет свою цену: первоначальная загрузка указанного SDK весит несколько сотен мегабайт, а распакованный SDK занимает ~ 2 ГБ дискового пространства.

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

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