# 第一步:配置,-S 指定源码目录,-B 指定构建目录
cmake -S . -B build
# 第二步:生成,--build 指定构建目录
cmake --build build
# 运行
./build/first_cmake
或ubuntu
1.安装cmake
直接安装,版本不确定
sudo apt install cmake -y
安装指定版本
linux
去官方下载Download CMake
tar -zxvf cmake-3.17.0-rc2-Linux-x86_64.tar.gz cd cmake-3.17.0-rc2-Linux-x86_64/bin
下面是手动安装
git clone -b v3.25.1 https://github.com/Kitware/CMake.git
cd CMake
./bootstrap
(报错)openssl.
安装依赖,sudo apt-get install libssl-dev
报错libssl-dev : 依赖: libssl1.0.0 (= 1.0.2g-1ubuntu4.20) 但是 1.0.2n-1ubuntu5.7 正要被安装
则直接安装对应包,进行降级或者升级处理:sudo apt-get install libssl=1.0.2g-1ubuntu4.20
make
sudo make install
cmake --version
卸载cmake
sudo apt-get remove cmake
安装插件
vs code插件:
- 安装
twxs.cmake
做代码提示; - 安装
ms-vscode.cmake-tools
界面操作。
安装opencv
sudo apt install libopencv-dev
安装后,找open依赖和包
cmake_minimum_required(VERSION 3.10)
project(opencv_demo)
find_package(OpenCV REQUIRED)
message("OPENCV INCLUDE DIRS: ${OpenCV_INCLUDE_DIRS}")
message("OPENCV LINK LIBRARIES: ${OpenCV_LIBS}")
include_directories(${OpenCV_INCLUDE_DIRS})
# include_directories("/usr/include/opencv4")
add_executable(opencv_demo opencv_demo.cpp)
# target_link_libraries(opencv_demo PUBLIC "/usr/lib/")
target_link_libraries(opencv_demo ${OpenCV_LIBS})
win10(可以下载个git使用和ubuntu的终端一样,能使用which和版本查看)
1、安装c++
MinGW-w64 - for 32 and 64 bit Windows - Browse Files at SourceForge.net
一定要下载带有posix版本,否则后面配置opencv的时候会报错,下这个版本
2、添加该路径到环境变量
E:\cpp\mingw64\bin
3、检查
gcc --version
2.下载opencv包
3.安装cmak
上面是opencv的包,下面是需要生产新的opencvbuild目录
点击configure
finish
->configuring done
->configure
->generate
到没有红色出现
结束后到刚构建的opencv_build目录里面
minGW32-make -j8好的电脑用8,不行的用4
之后将编译后的opencv_build
文件里面的bin添加到环境变量
报错1:
CMake Error at CMakeLists.txt:3 (project):
Running
'nmake' '-?'
failed with:
系统找不到指定的文件。后面加上-G "MinGW Makefiles"
写成:cmake -S . -B build -G "MinGW Makefiles"
报错2:
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
写入其中之一在project()之前
set( CMAKE_CXX_COMPILER "/pathto/g++" )
set( CMAKE_C_COMPILER "/pathto/gcc" )
cmake -DCMAKE_CXX_COMPILER=/pathto/g++ -DCMAKE_C_COMPILER=/pathto/gcc /pathto/source
报错3:
cmake] CMake Error at CMakeLists.txt:8 (find_package):
[cmake] By not providing "FindOpenCV.cmake" in CMAKE_MODULE_PATH this project has
[cmake] asked CMake to find a package configuration file provided by "OpenCV", but
[cmake] CMake did not find one.
[cmake]
[cmake] Could not find a package configuration file provided by "OpenCV" with any
[cmake] of the following names:
[cmake]
[cmake] OpenCVConfig.cmake
[cmake] opencv-config.cmake
[cmake]
[cmake] Add the installation prefix of "OpenCV" to CMAKE_PREFIX_PATH or set
[cmake] "OpenCV_DIR" to a directory containing one of the above files. If "OpenCV"
[cmake] provides a separate development package or SDK, be sure it has been
[cmake] installed.
[cmake]
[cmake]
[cmake] -- Configuring incomplete, errors occurred!
[proc] The command: D:\CMake\bin\cmake.EXE --no-warn-unused-cli -DCMAKE_EXPORT_COMPILE_COMMANDS:BOOL=TRUE -DCMAKE_BUILD_TYPE:STRING=Debug -DCMAKE_C_COMPILER:FILEPATH=D:\cpp\mingw64\bin\gcc.exe -DCMAKE_CXX_COMPILER:FILEPATH=D:\cpp\mingw64\bin\g++.exe -SD:/code_cpp/torch_cpp -Bd:/code_cpp/torch_cpp/build -G "MinGW Makefiles" exited with code: 1
修复
在project()后面加入opencv的路径set(OpenCV_DIR E:/opencv_build)