У меня есть Visual C++ Build Tools 2015 | Standalone compiler, libraries and scripts, установленный на недорогом нетбуке. Это необходимо, потому что у машины есть небольшой eMMC, припаянный к плате без реального пространства.Что такое -D определить, чтобы сказать Cmake, где найти nmake?
nmake
установлен на %PROGRAM FILES%\Microsoft Visual Studio 14.0\VC\bin
. Однако Cmake не может найти его при попытке создания Makefile. Я хотел бы использовать -D
, чтобы сообщить Cmake, что это за программа makefile, но у меня возникли проблемы с поиском list of -D defines for Cmake.
Для полноты, я стараюсь избегать других инструментов Microsoft. У меня есть инструменты для сборки LLVM на C:\LLVM\bin
, поэтому я устанавливаю CMAKE_C_COMPILER
и CMAKE_CXX_COMPILER
. Но мне нужно было nmake
, потому что я не могу найти отдельную программу Make program for Windows, уже построенную.
Что такое -D
Определить nmake для Cmake?
Обычно вы запускаете «Visual Studio ... Command Prompt» из startmenu. Это устанавливает несколько переменных среды для поиска компиляторов, libs, includes и nmake. Затем вы можете запустить «cmake -G» NMake Makefiles ». Затем будут использованы инструменты Microsoft. –
Я использую [Ninja] (https://ninja-build.org/) как автономный инструмент make (всего один исполняемый файл) для всех мои проекты на всех платформах быстро и очень хорошо проверяют зависимость. Ninja должен быть где-то в пути поиска вашей системы, тогда вы можете называть 'cmake.exe -G" Ninja "..' |' ninja'. – Florian
Только используя clang в настоящее время не представляется возможным, я верю, потому что он не поставляется с собственным компоновщиком. Поэтому, даже если вы установите NMake с -D (CMAKE_MAKE_PROGRAM) (https://cmake.org/cmake/help/v3.0/manual/cmake -variables.7.html), скорее всего, не получится. Я считаю, что вы можете использовать двоичные файлы из (http://llvm.org/builds/) и сообщить cmake использовать хотя бы компиляторы из него. I не могу проверить это прямо сейчас, потому что у меня нет установленных окон, но если вы я не знаю, что я говорю, дайте мне знать, и я дам вам больше информации. –