CMake
cmake
简介
Cmake是众多make工具中的一种,对代码进行编译,测试以及打包操作的跨平台工具,cmake在工作时,主要分为两部分。首先,编写cmaklists.txt文件,然后用cmake命令将CMakeLists.txt文件转化为make所需要的makefile文件,最后用make命令编译源码生成可执行程序或共享库
优点
- 源码是跨平台的,可以直接用cmake在linux下编译
- 源码和工程文件分开,便于代码版本管理
常用命令
-
指定cmake最小版本,防止因为cmake语法不向下兼容。
cmake_minimum_required(VERSION 3.4.1)
-
设置项目名称
project(demo)
-
设置编译类型
add_executable(demo demo.cpp) # 生成可执行文件 add_library(common STATIC util.cpp) # 生成静态库 add_library(common SHARED util.cpp) # 生成动态库或共享库
-
搜寻文件
file(GLOB APP_LIB "*.h" "*.cpp") add_library(uavDetect SHARED ${APP_LIB})
-
添加链接库
target_link_libraries(uavDetect ${OpenCV_LIBS})
-
查找依赖包
find_package(OpenCV)
注意事项
- 之前工程文件调用了opencv库,在编译的时候是默认用了X86架构,但是opencv只有64位的,所以一直报错,最初以为cmake没有找到opencv的路径,最后发现是默认调用了win32编译器,在gui界面换一下就好,然后在gui里生成。
- 在使用时,最好把源码和工程分开,这样相对好管理。
- 在gui里配置,首先选择编译器vs还是mingw等等,其实要选对架构,x64 or x86
emmmmm,好多语法还不熟悉,以后慢慢补充吧
后续。。。。。