【发布时间】:2016-04-14 20:19:08
【问题描述】:
首先,我从https://sourceforge.net/projects/mingw/files/ 安装了 MinGW,并安装了 mingw32-gcc-g++ 和 mingw32-gcc-objs。我已将 C:\MinGW\bin 添加到我的路径中。
其次,我已经为windows安装了Git(不是很重要,在cmd.exe上结果是一样的)。
第三,我已经用http://gnuwin32.sourceforge.net/packages/make.htm安装了完整的包“make”
之后,我安装了带有 .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})
【问题讨论】:
-
您是否告诉 CMake 您希望它在
make/gcc模式而不是 VisualStudio 模式下工作?这样做有帮助吗? -
我该怎么做?当我运行 cmake gui 时,我可以进行配置,我尝试了“MSYS Makefiles”、“Unix Makefiles”,但结果是一样的。我应该尝试另一个吗?
-
好吧,您没有使用 MSYS make 或 Unix make。您正在使用 gnuwin32 制作。