Как запустить make-файл в Windows?
У меня есть несколько загруженных демонстраций, и они идут с Makefile.win и Makefile.sgi. Как я могу запустить их в Windows, чтобы скомпилировать демонстрации?
23 ответа
Если у вас есть Visual Studio, запустите командную строку Visual Studio из меню Пуск, перейдите в каталог, содержащий Makefile.win
и введите это:
nmake -f Makefile.win
Вы также можете использовать обычную командную строку и запустить vsvars32.bat (c:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools for VS2008). Это настроит среду для запуска nmake и поиска инструментов компилятора.
Этот вопрос может быть старым, но мое решение, которое, как я полагаю, является самым простым для любого пользователя Windows, не указано.
Шаг 1: Установите шоколадный менеджер пакетов для WINDOWS (совместимый с Windows 7+ / Windows Server 2003+) здесь
Шаг 2: запуститеchoco install make
Шаг 3. Получите прибыль от хорошо обслуживаемого менеджера пакетов. Make будет добавлен к глобальному пути и работает на всех интерфейсах командной строки (PowerShell, git bash, cmd …)
Я не связан с choco, но ТОЛЬКО ХОРОШО.
Ознакомьтесь с маркой GnuWin, которая предоставляет собственный порт для Windows (не требуя полноценной среды выполнения, такой как Cygwin)
Вот мой быстрый и временный способ запустить Makefile
C:\Program Files (x86)\GnuWin32\bin
- скопируйте все файлы в папке в папку, содержащую Makefile
libiconv2.dll libintl3.dll make.exe
- откройте cmd (вы можете сделать это с помощью правого клика со смещением) в папке, содержащей Makefile, и запустите
make.exe
сделанный.
Кроме того, вы можете добавить аргументы после команды, такие как
make.exe skel
Если вы устанавливаете Cygwin. Убедитесь, что в программе установки выбрано "make". Затем вы можете запустить следующую команду, если у вас есть Makefile.
make -f Makefile
https://cygwin.com/install.html
Я использую набор инструментов MinGW, который предоставляетmingw32-make
инструмент сборки, если он у вас есть PATH
системные переменные, в командной строке Windows просто перейдите в каталог, содержащий файлы, и введите эту команду:
mingw32-make -f Makefile.win
и дело сделано.
Все вышеперечисленное пробовал. Что мне помогает:
- Загрузите файл mingw-get .
- Настройте это.
- Добавьте что-нибудь вроде
this C:\MinGW\bin
в переменные среды. - Запустите (! Важно) git bash. Power shell, developer vs cmd, system cmd и т. Д. Не помогли.
- Тип
mingw-get
в командную строку. - После типа
mingw-get install mingw32-make
. - Скопируйте и вставьте все файлы из
C:\MinGW\bin
в папку, где находится ваш Makefile. Выполнено! Теперь вы можете использовать make-команды в этой папке.
В Visual Studio 2017 мне пришлось добавить эту папку в мою переменную env пути Windows 10:
C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\VC\Tools\MSVC\14.10.25017\bin\HostX64\x64
Там также HostX86
Если это "Makeake-файл NMake", то есть синтаксис совместим с NMake, он будет работать.
Часто предоставляются стандартные файлы Makefile для Linux и NMake
выглядит многообещающе Тем не менее, следующая ссылка берет простой Makefile для Linux и объясняет некоторые фундаментальные проблемы, с которыми можно столкнуться.
Если вы уже установили компилятор Windows GNU (MinGW) из MSYS2 , тоmake
команда предустановлена какwingw32-make
. Всегда сопоставляйте генерацию make-файла cmake с правильной командой make. Смешивание этих порождает проблемы.
Генерация make-файла MinGW с помощью команды MinGW make
Генерация make-файла Visual Studio с помощью команды make, эквивалентной VS
И это всегда возможно, если у вас есть исходный код. Просто удалите старый каталог сборки и начните сначала, указав на этот раз правильный параметр в cmake, например
mkdir build
cd build
cmake -G "MinGW MakeFiles" path/to/src/whereCMakeLists.txtInstructionsAre
mingw32-make
myProject.exe # RUN
Я столкнулся с проблемами во время компиляции, когда несколько команд make взаимодействуют. Чтобы предотвратить это, просто отредактируйте/удалите переменные среды, которые приводят к другим командам make. Например, чтобы предотвратить конфликты с mingw, оставьте толькоC:\msys64\mingw64\bin
но удалитьC:\msys64\usr\bin
. Этот другой путь содержит msys make, и, как я уже сказал, вы не хотите комбинировать команды make во время компиляции.
Я пробовал использовать cygwin и gnuwin, и у меня ничего не получилось, я думаю, потому что make-файл использовал в основном определенный код Linux.
Что сработало, так это использование Ubuntu Bash для Windows 10. Это Marvel, если вы пришли из MAC, как и мой случай:
- Чтобы установить Ubuntu Bash: https://itsfoss.com/install-bash-on-windows/
- В консоли для установки просто введите "make" и получите инструкции по загрузке.
Дополнительно:
- Полезное включение копирования / вставки в bash: копирование и вставка в Bash в Ubuntu в Windows
- В моем случае make называется Maven, поэтому мне также нужно установить его: https://askubuntu.com/questions/722993/unable-to-locate-package-maven
- Для доступа к файловой системе Windows C: диск, например: "cd /mnt/c/"
Надеюсь, это поможет
Во-первых, добавьте путь к обычным инструментам Visual Studio (c:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\Tools
) в системный путь. Чтобы узнать, как добавить путь в системный путь, посетите этот веб-сайт: http://www.computerhope.com/issues/ch000549.htm. Тебе просто нужно это один раз.
После этого, когда вам нужно, откройте командную строку и выполните vsvars32.bat
добавить все необходимые пути визуальных инструментов студии в системный путь.
Затем вы можете позвонить nmake -f makefile.mak
PS: Путь к обычным инструментам Visual Studio может отличаться в вашей системе. Пожалуйста, измените его соответственно.
Установите msys2 с помощью make dependency, добавьте оба в переменную PATH. (Второй вариант - GNU ToolChain для Windows. Версия MinGW уже включает mingw32-make.)
Установите Git Bash. Запустите mingw32-make из Git Bash.
- Скачать с https://sourceforge.net/projects/gnuwin32/
- Заранее установите путь к переменной для распознавания в командной строке (C:\Program Files (x86)\GnuWin32\bin)
Поэтому, если вы используете Vscode и Mingw, сначала убедитесь, что
bin
папка
mingw
включен в путь к среде, и рекомендуется изменить
mingw32-make.exe
чтобы облегчить задачу, а затем создать
makefile
и включите в него этот код.
all:
gcc -o filename filename.c
./filename
Затем сохраните файл makefile и откройте Vscode
Code
терминал и написать
make
. Тогда makefile будет запущен.
Процедура, которой я следовал, такова;
- Я установил make Gnuwin32, используя устанавливаемый файл .
- Добавлен путь «сделать» к переменной окружения PATH.
- Проверил установку с помощью «make --version»
Для меня установка Ubuntu WSL на Windows была лучшим вариантом, это лучший инструмент для компиляции make-файла на Windows. Тысяча лучше, чем Cygwin64, потому что для компиляции make-файла вам понадобится другой пакет и скомпилированное программное обеспечение, такое как, возможно, gfortran, netcdf и т. д., т. д., в Ubuntu WSL вы можете установить все эти пакеты очень легко и быстро;)
Я полагаю, вы добавили
mingw32/bin
добавлен в переменные среды, иначе добавьте его, и я предполагаю, что это компилятор gcc, и у вас есть установщик mingw.
Первый шаг: скачать
mingw32-make.exe
из установщика mingw или проверьте
mingw/bin
папка сначала ли
mingw32-make.exe
существует или нет, кроме установки, переименуйте его в
make.exe
.
После переименования в
make.exe
, просто зайдите и запустите эту команду в каталоге, где
makefile
расположен. Вместо переименования вы можете напрямую запустить его как
mingw32-make
.
В конце концов, команда - это просто исполняемый файл или программа, мы используем ее имя для выполнения программы, мы называем ее командой.
Перейдите на http://gnuwin32.sourceforge.net/packages/make.htm и загрузите make-3.81.exe, установите и добавьте в путь Windows.