#windows #cmake #mingw
#Windows #cmake #mingw
Вопрос:
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
CMake Error at I:/msys64/mingw32/share/cmake-3.13/Modules/CMakeMinGWFindMake.cmake:12 (message):
sh.exe was found in your PATH, here:
I:/msys64/usr/bin/sh.exe
For MinGW make to work correctly sh.exe must NOT be in your path.
Run cmake from a shell that does not have sh.exe in your PATH.
If you want to use a UNIX shell, then use MSYS Makefiles.
Call Stack (most recent call first):
CMakeLists.txt:16 (PROJECT)
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
но, похоже, что нарушение sh.exe
является частью msys??
Хорошо, итак, попробуйте оболочку msys… i:msys64mingw32
rm -rf build
mkdir build
cd build
cmake -G "MinGW Makefiles" ..
CMake Error at I:/msys64/mingw32/share/cmake-3.13/Modules/CMakeMinGWFindMake.cmake:12 (message):
sh.exe was found in your PATH, here:
I:/msys64/usr/bin/sh.exe
For MinGW make to work correctly sh.exe must NOT be in your path.
Run cmake from a shell that does not have sh.exe in your PATH.
If you want to use a UNIX shell, then use MSYS Makefiles.
Call Stack (most recent call first):
CMakeLists.txt:16 (PROJECT)
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
то же самое.
там sh.exe
не должно быть?
последняя попытка…
cmake -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND" ..
$ cmake -G "MinGW Makefiles" -DCMAKE_SH="CMAKE_SH-NOTFOUND" ..
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMake was unable to find a build program corresponding to "MinGW Makefiles". CMAKE_MAKE_PROGRAM is not set. You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
Похоже, есть и вторая проблема?
любая помощь? Спасибо.
Комментарии:
1.Как говорится в сообщении об ошибке, если вы работаете под оболочкой MSYS, вам следует использовать
cmake -G "MSYS Makefiles" ...
неcmake -G "MinGW Makefiles" ...
Ответ №1:
Прежде всего, убедитесь, что вы mingw32-make
установили:
which mingw32-make
если нет, /mingw64/bin/mingw32-make
то либо пути нет в вашем ~/.bashrc
, либо он не установлен. Я думаю, вы можете установить его с помощью
pacman -S mingw64/mingw-w64-x86_64-make
который также является частью mingw-w64-x86_64-toolchain
, который вы, вероятно, уже установили. тогда вы должны иметь возможность запускать
cmake -D CMAKE_MAKE_PROGRAM:PATH=/mingw64/bin/mingw32-make
пожалуйста, попробуйте и дайте мне знать, работает ли это у вас.