CMakeListstxt里面的内容如下:
cmake_minimum_required(VERSION 26)
PROJECT(Threshold)
FIND_PACKAGE(OpenCV REQUIRED )
INCLUDE_DIRECTORIES( ${OPENCV_INCLUDE_DIR} )
ADD_EXECUTABLE(Threshold MyCVProjectcpp)
TARGET_LINK_LIBRARIES(Threshold ${OpenCV_LIBS})
cmakelist是手写的,
手写的原本意思是指用手在纸张上的写作方式,但现也指与按键输入方式相对的一种输入方式。通常是指现代的某种工具程序的输入方式由原来的按键输入改为手写输入;可转换为键入的文本的墨迹。手写输入技术进一步发展,为人们的工作学习带来巨大的便利,现在已经发展到不需要增加硬件直接用鼠标就可以手写。
注释:以 # 开头
cmake_minimum_required(VERSION 341) #设置Cmake最小版本
ADD_EXECUTABLE(exeNme 源码位置) #编译为可执行程序
add_library(libName STATIC 源码位置) # 生成静态链接库
add_library(libName SHARED 源码位置) # 生成动态链接库
SET(变量名 变量值) #设置变量
例如:
SET(srcDir mainc) 等价于 srcDir = "mainc"
SET(srcDir mainc democ testc) 等价于 srcDir = "mainc democ testc"
add_executable(debugger ${srcDir})#用 美元符号 使用变量
include_directories(路径)#设置头文件搜索路径,以CmakeListstxt所在目录为根目录
源文件中可以使用 <>来引入自己的头文件了,与引入标准库头文件保持格式的一致
例如:
include_directories(header) 则,源码中使用头文件的时候会从CmakeListstxt所在目录/header 中去寻找
add_subdirectory(mod1 lib)#执行 mod1/CmakeListstxt文件,并且把输出文件放在lib文件夹,同时会把lib文件夹作为链接库的搜索位置
link_directories(${PROJECT_SOURCE_DIR}/build/lib)#指明链接库的位置,如果程序要使用链接库,请一定要将此命令尽量写的靠前一些,要不然有时候会找不到链接库我也不知道为什么
target_link_libraries(exeName libName)#链接 libName,注意,链接之前要指明链接库的位置,如果libName代表动态链接库,则运行的时候需要把它拷贝到exeName同目录下
如果运行程序涉及到了动态链接库,则运行到时候需要把动态链接库拷贝到运行程序所在的文件夹
例如:
静态链接库 A
静态链接库 B
动态链接库 C
可执行程序 D
A依赖B和C
D依赖A,
则D运行的时候需要把B和C一起拷贝到其目录下注意,B是静态的,依然要拷贝过去
以上就是关于Ubuntu下安装好OpenCV 设置opencv_DIR路径问题 用cmake运行了个测试程序全部的内容,包括:Ubuntu下安装好OpenCV 设置opencv_DIR路径问题 用cmake运行了个测试程序、idea运行cmakelist、CmakeLists语法等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)