Как скомпилировать Magick ++ без Cygwin или Visual Studio?

Я настраиваю среду разработки на своем ПК с Windows, чтобы у меня было больше мест для работы над проектом. Я установил VS Build Tools 2019 в свою систему вместе с CMake v3.15.3, GnuWin32 Make v3.81 и LLVM CLang v8.0.1.

Вся официальная документация по Magick ++ показывает только, как компилировать с использованием собственно Visual Studio, Cygwin или MinGW. Кто-нибудь знает, как его скомпилировать без любого из них? На моем твердотельном накопителе мало места, и я бы предпочел не устанавливать что-то, к чему больше никогда не прикасаться.

Я подумываю о том, чтобы использовать Ninja для его создания, поскольку он поставляется с VS Build Tools. Кто-то предложил использовать Make, но не используется для компиляции файлов для систем Linux?


РЕДАКТИРОВАТЬ: Насколько мне известно, ImageMagick не поставляется с файлом CMakeLists.txt.

Я также слышал о msbuild.exe.


person dan9er    schedule 02.10.2019    source источник


Ответы (1)


Похоже, у вас есть все необходимое для компиляции программы. Предполагая, что когда вы установили инструменты сборки, вы установили материал C ++. Вероятно, вы могли бы сэкономить место, удалив LLVM, если вы действительно не хотите компилировать с помощью clang ++. LLVM Windows полагается на библиотеки Build Tools, и я никогда не возился с ними достаточно, чтобы заставить их работать хорошо; Я работаю на Mac или Linux. Тем не менее, я нашел это руководство от LLVM. Похоже, требуется Visual Studio, поэтому вам может быть лучше просто удалить ее.

Если пространство вызывает беспокойство (вы не говорите, сколько свободного места у вас на самом деле), MinGW или Cygwin намного меньше, чем MS C ++ Build Tools.

Ninja не является компилятором; он похож на make тем, что его можно использовать для автоматизации компиляции и компоновки вашей программы. , но оба эти инструмента делают это, используя компилятор / компоновщик и библиотеки C ++. make также доступен для Windows через MinGW или Cygwin.

cmake - это дополнительный уровень абстракции по сравнению с ninja / make, поскольку он может создавать файлы ninja.build или make для вы на основе инструментов, установленных в вашей системе. cmake действительно значительно упрощает процесс компиляции. cmake выберет ниндзя по умолчанию, если он присутствует. В проекте будет хотя бы один файл CMakeLists.txt, если вы можете использовать cmake.

Прошло некоторое время с тех пор, как я использовал MinGW или Cygwin (один или другой, вам не нужны оба), но когда я попробовал что-то подобное (MSYS2), мне потребовалось чуть меньше 700 МБ, если все, что вам нужно, это работать с C ++.

person sweenish    schedule 02.10.2019
comment
Я не просил объяснений Ninja, Make или CMake. Я знаю, что это такое. Отправляя ответ, убедитесь, что он действительно отвечает на вопрос. - person dan9er; 03.10.2019
comment
Так что ты спрашиваешь? Следуя заголовку, вы спрашиваете эквивалент «Как мне скомпилировать x без компилятора?» Это не означает большого количества знаний о том, что такое ninja / make / cmake / cygwin / mingw / LLVM на самом деле. - person sweenish; 03.10.2019
comment
Это также заставляет меня думать, что вместо этого вам следует просто загрузить двоичный файл. Он официально доступен во всех желаемых форматах. Вы также можете использовать менеджер пакетов, например шоколадный, если хотите полуавтоматически обновлять его. Вы скачали материал для компиляции LLVM, руководство по imagemagick ни в коем случае не требует LLVM. LLVM также требует Visual Studio, так каков ваш финал? Итак, чтобы подбросить мяч обратно на вашу площадку, задавая вопрос, убедитесь, что ваши требования ясны. - person sweenish; 03.10.2019
comment
Во-первых, я уже установил LLVM через установщик. Откуда вы взяли, что я пытаюсь скомпилировать LLVM? Во-вторых, я говорю о Magick ++ (imagemagick.org/www/script/magick ++. Php), а не ImageMagick в интерфейсе командной строки. Согласно связанной странице, единственный способ получить Magick ++ - это построить, если я не ошибаюсь. В-третьих, теперь я понимаю, что некоторые из установленных мной вещей не нужны. - person dan9er; 04.10.2019
comment
И в-четвертых, VS Build Tools - это все, что собственно VS поставляется с кроме самого редактора. Он предназначен для людей, которые хотят компилировать для Windows, но хотят использовать альтернативный редактор. Кстати, редактор VS использует msbuild.exe в фоновом режиме для создания решений, поэтому ... - person dan9er; 04.10.2019
comment
Итак, ясно, что вам не нужна помощь; вы все это выяснили. - person sweenish; 04.10.2019