ubuntu下使用Cmake编译opencv记录

这几天在ubutnu系统下搭建opencv环境。本来像用vscode当编辑器,结果.joson文件配置了半天,总是显示链接不到opencv的库,我也没那么多时间耗在搭建环境上,所以干脆放弃vscode,直接使用cmake来编译.cpp文件。主要参考了这两篇博文:博文1博文2。过程记录如下:

第一步 创建CMakeLists.txt文件

首先,创建你的工程文件夹,里面包含你的程序源文件,然后在同一目录下创建一个.txt文件命名为CMakeLists.txt(cmake编译时需要用到),该文件可以从你安装opencv的位置opencv-4.4.0/samples/cpp/example_cmake中复制过来,在其基础上再修改即可。下面详细讲一下如何根据自己的需求修改这个文件:

# 这是对CMake工具最低版本要求,我们可以使用命令“cmake --version”查看CMake版本
cmake_minimum_required(VERSION 3.1)

# 设置工程文件名
#这是建立一个工程项目(类似于我们VS中建立C++项目一样),括号里面时工程名,工程名我们可以任意给,最后程序编译出来的可执行文件就是这个名字
project(【您的工程文件名】) # 把这块的工程文件名修改成你自己的

# Find OpenCV, you may need to set OpenCV_DIR variable
# to the absolute path to the directory containing OpenCVConfig.cmake file
# via the command line or GUI
find_package(OpenCV REQUIRED) # 这是cmake用来查找opencv包用的,不用改

# If the package has been found, several variables will
# be set, you can find the full list with descriptions
# in the OpenCVConfig.cmake file.
# Print some message showing some of them
message(STATUS "OpenCV library status:")
message(STATUS "    config: ${OpenCV_DIR}")
message(STATUS "    version: ${OpenCV_VERSION}")
message(STATUS "    libraries: ${OpenCV_LIBS}")
message(STATUS "    include path: ${OpenCV_INCLUDE_DIRS}")

# Declare the executable target built from your sources
# 这里括号里面的两个参数分别是工程项目名和我们要编译文件名的意思,记住中间一空格键隔开
add_executable(【您的工程文件名】 【您的源文件名】)  # 改工程文件名 源文件名 

# Link your application with OpenCV libraries 链接到OpenCV库的环节
target_link_libraries(【您的工程文件名】 PRIVATE ${OpenCV_LIBS}) # 改工程文件名

按照上述代码中所述,修改部分内容的名称即可。
创建结束后,效果如下所示
在这里插入图片描述
我的源文件中的代码为:

#include<opencv2/opencv.hpp>
using namespace cv;
int main()
{

    Mat srcImage=imread("lena.jpg");
    imshow("Origin",srcImage);
    waitKey(0);
    return 0;
}

第二步 通过cmake .和make命令生成makefile文件和可执行文件

接下来我们要使用cmake .命令配合CMakeLists.txt生成makefile文件,使用make进行编译生成可执行文件
在您工程文件夹下打开终端,输入下述命令即可:

cmake . 
make

命令效果如下所示,则表明编译成功
在这里插入图片描述
此时,工程文件夹下应该有如下文件:
在这里插入图片描述

第三步 执行!

在工程文件夹路径下输入 ./opencv_C++_learning (我的工程文件名起得是opencv_C++_learning,此处改成你的即可)。
执行效果如下:
在这里插入图片描述

  • 7
    点赞
  • 34
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值