Есть ли эквивалент Make на Windows? [закрытый]


Я разрабатываю на Windows, и я хотел бы использовать beanstalkd. Он доступен только в виде тарбола, и мне просто интересно, есть ли какой-то способ легко построить его, как вы можете в Linux? Я нашел несколько портов gnu make для Windows, но они, похоже, не работают. Являются ли исходные дистрибутивы каким-то образом специфичными для Linux?

Когда я пытаюсь использовать mingw32-make, он говорит: "ничего не нужно делать для файла". TBH я не был уверен, на чем его запускать, поэтому я попробовал тарбол, каталог и Makefile.in и еще Makefile.am - они все говорят одно и то же.

10 9

10 ответов:

Я нашел несколько портов gnu make для Окна, но их, кажется, нет. работающий.

Вот несколько портов GNU инструментов для Windows :

Я почти уверен, что без проблем использовал некоторые утилиты из порта unxutils.

Make доступен в cygwin, который можно установить с помощью программы установки make.

Пакет называется "make", который находится в категории" Devel".

Я бы также посмотрел на использование msys с mingw (его также можно найти в http://mingw.org ) я мог бы попытаться объяснить это, но я думаю, что описание с их страницы работает лучше

MSYS: минимальная система, предоставляющая POSIX-совместимую среду Bourne shell с небольшой коллекцией инструментов командной строки UNIX. В основном разработан как средство для выполнения сценариев настройки и файлов Makefile, используемых для построения программного обеспечения с открытым исходным кодом, но также полезен в качестве командной строки общего назначения интерфейс для замены Windows cmd.exe.

Одним из бонусов использования msys над cygwin является то, что он создает собственные приложения windows, а не полагается на уровень совместимости cygwin

Большинство пакетов исходного кода unix требуют запуска "configure", который считывает некоторую информацию о вашей системе и строит файл Makefile - хотя в первые дни X11 некоторые пакеты использовали" xmkmf " для построения файлов Makefile из файлов Imakefile. Только после этого вы можете запустить " make "и, возможно,"make install". Судя по звуку, у вас нет файла Makefile, только Makefile.in (который является входным для настройки).

Cygwin хорош, как было указано в предыдущем ответе, но он включает в себя гораздо больше, чем просто make.

Я использовал NMake в Windows для сборки модулей Perl. Проверьте это:

Http://johnbokma.com/perl/make-for-windows.html

Это полезно для Perl. Похоже, что есть и общий порт GNU:

Http://gnuwin32.sourceforge.net/packages/make.htm

Утилита make ожидает использовать файл с именемMakefile . Если вы просто наберете make, он найдет этот файл автоматически. Если файл makefile имеет другое имя, используйте опцию -f. Если вы просто дадите имя файла без -f, то make будет интерпретировать его как цель, которую он должен выяснить, как сделать.

Многие инструменты, которые приходят только в качестве исходного кода, предполагают, что вы будете использовать Visual C++ для сборки на Windows, даже если они предполагают, что вы будете использовать G++ везде. Смотри для Visual C++ makefile; обычно он называется Makefile.mak . Затем запустите nmake.

Но если у вас есть только файлы с именем Makefile.in и Makefile.am , тогда у вас еще нет подходящей среды. Makefile.in является одним из входных данных для скрипта configure, который будет создавать реальный файл makefile и, возможно, заголовок или два, специфичные для вашей среды, на основе тестов, которые запускает configure.

В конце концов, загруженный вами пакет может не действительно компилируется на Windows. Даже в Cygwin вы можете ожидать, что вам придется внести несколько изменений в исходный код, если он не был написан с учетом Windows.

Makefile.in будет содержать основы конечного файла makefile. Еще до того, как я понял, что должен делать, я просто переименовал Makefile.in в Makefile и зашел довольно далеко. Вы можете попробовать использовать этот файл в качестве отправной точки для построения реального файла Windows makefile, для любого целевого компилятора. выбирать. Это потребует терпения; просто продолжайте следовать за сообщениями компилятора, пока вы не увидите больше ничего. (А потом приходит линкер. Надеюсь, вам не нужно слишком много других библиотек!)

Что касается альтернатив, проверьте этуссылку . Что касается вашей проблемы с make, вам придется быть немного более конкретным о нерабочей части. Что не работает, как это проявляется, какую ошибку это дает и так далее.

На ум приходят Cygwin и mingw.

MSVC включает nmake, который работает на обычных файлах Makefile с некоторыми настройками.

Пусть кто-то другой делает тяжелую работу. Вот предварительно скомпилированныйbeanstalkd 1.4.6 exe.

Распакуйте tarball, cd в самый верхний каталог и введите "make". Make автоматически подберет файл Makefile.