首先,我安装了https://sourceforge.net/projects/mingw/files/的MinGW和mingw32-gcc-g ++以及mingw32-gcc-objs。我已将C:\ MinGW \ bin添加到我的路径中。
其次,我已经为Windows安装了Git(不是很重要,cmd.exe上的结果是一样的。)
第三,我已经安装了完整的软件包" make" http://gnuwin32.sourceforge.net/packages/make.htm
之后,我使用.msi安装了cmake 3.5.1。
但是当我运行cmake ../src
时,结果是:
-- The C compiler identification is unknown
-- The CXX compiler identification is unknown
CMake Error at CMakeLists.txt:5 (project):
No CMAKE_C_COMPILER could be found.
CMake Error at CMakeLists.txt:5 (project):
No CMAKE_CXX_COMPILER could be found.
-- Configuring incomplete, errors occurred!
See also "C:/Users/pauka/Dropbox/ETUDE/SRI/S8/STA_Stage/sources/tests/bin/CMakeFiles/CMakeOutput.log".
See also "C:/Users/pauka/Dropbox/ETUDE/SRI/S8/STA_Stage/sources/tests/bin/CMakeFiles/CMakeError.log".
因此cmake无法找到gcc或g ++。但是当我运行gcc -version时,输出很好......我应该为cmake配置什么?
我的CMakeLists.txt是:
# Ajustez en fonction de votre version de CMake
cmake_minimum_required (VERSION 2.8)
# Nom du projet
project (main)
find_package (OpenCV REQUIRED)
# Exécutable "main", compilé à partir du fichier main.cpp
add_executable (tracking_color tracking_color.cpp)
add_executable (feuille feuille.cpp)
add_executable (detect_circles detect_circles.cpp)
add_executable (segmentation segmentation.cpp)
add_executable (watershed_perso watershed_perso.cpp)
add_executable (main main.cpp utils.h)
add_executable (info_coins info_coins.cpp)
# main sera linké avec les bibliothèques d'OpenCV
target_link_libraries (tracking_color ${OpenCV_LIBS})
target_link_libraries (feuille ${OpenCV_LIBS})
target_link_libraries (detect_circles ${OpenCV_LIBS})
target_link_libraries (segmentation ${OpenCV_LIBS})
target_link_libraries (watershed_perso ${OpenCV_LIBS})
target_link_libraries (info_coins ${OpenCV_LIBS})
target_link_libraries (main ${OpenCV_LIBS})
答案 0 :(得分:2)
好的,对我感到羞耻,
我必须重新启动计算机并在CMake GUI中选择“MinGW Makefile”。单击“配置”,然后单击“生成”。
接下来,你不能使用“Git for windows”,因为有“sh.exe”,这是一个cmake bug。
PS:要使用OpenCV,必须编译它:
cd C:\opencv
mkdir my_build
cd my_build
cmake -G "MinGW Makefiles" ../sources
mingw32-make # took 2 hours on my computer
然后将C:\ opencv \ my_build和C:\ opencv \ my_build \ bin添加到系统路径。
答案 1 :(得分:0)
您可以尝试设置manually the cxx path,请参阅链接中的CMAKE_C_COMPILER,该链接会告诉您更多或更少的链接:
CXX=C:\path\to\g++ cmake ..
但是,我建议你看看为什么cmake不能识别你的cxx编译器。我会仔细检查你的环境路径。
答案 2 :(得分:0)
也许不是最好的答案,但要把事情搞定。安装Bash On Ubuntu On Windows
并安装cmake并使用sudo apt-get install cmake
和sudo apt-get install build-essential
进行安装(如果尚未安装)。但是,Bash On Ubuntu On Windows
仅附带Windows 10
,并且对于访问特定驱动器,您应使用/mnt/c
代替C:\
按照this official tutorial安装Bash On Ubuntu On Windows
。
mona@DESKTOP-0JQ770H:/mnt/c$ cmake -version
cmake version 2.8.12.2
mona@DESKTOP-0JQ770H:/mnt/c$ make -version
GNU Make 3.81
Copyright (C) 2006 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.
This program built for x86_64-pc-linux-gnu
此外,您当然可以在Bash On Ubuntu On Windows
sudo apt-get install git
mona@DESKTOP-0JQ770H:/mnt/c$ git --version
git version 1.9.1
虽然我不建议使用基于Linux的git推送到特定于Windows的SDK /代码的github。我仍然会坚持使用Git Bash处理git。
*我曾经使用CMAKE GUI处理Windows 10中的CMake,然后将我的东西移植到Visual Studio。这也是一个简洁的解决方案,具体取决于您的代码库。