Ubuntu下编译一个C++文件,C++源程序中使用了opencv,opencv的安装没有问题,但是在编译的过程中出现如下错误:

undefined reference to `cv::imread(std::string const&, int)'
undefined reference to `cv::noArray()'
undefined reference to `cv::_OutputArray::_OutputArray(cv::Mat&)'
undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
undefined reference to `cv::imwrite(std::string const&, cv::_InputArray const&, std::vector<int, std::allocator<int> > const&)'
undefined reference to `cv::_InputArray::_InputArray(cv::Mat const&)'
undefined reference to `cv::imshow(std::string const&, cv::_InputArray const&)'
undefined reference to `cv::waitKey(int)'
...

undefined reference to `cv::Mat::deallocate()'
...

网上查了下资料,大概说opencv的静态编译库没有链接到本程序中(也不知道对不对,望大家指正),于是找啊找啊,终于找到一个有用的,记录一下:

在terminal下运行命令: g++ getmask.cpp -o getmask `pkg-config opencv --cflags --libs` // 包含、链接参数一定要放在后面,其实就是在编译C++程序后面加上(`pkg-config opencv --cflags --libs`)

编译成功后生成getmask可执行文件,接着运行命令:./getmask 就能得到结果啦。

附上我的源程序:

#include <iostream>
#include <vector>
#include <fstream>
#include <string>
#include <opencv2/opencv.hpp>
using namespace cv;
using namespace std;
int main()
{string img_filename;int head_num;int posx,posy;cv::Point pt;vector<Point> coordinate;vector<vector<Point> > coordinates;ifstream infile("scene01.txt");Mat img = imread("scene01.jpg",1);//namedWindow("MyWindow", CV_WINDOW_AUTOSIZE);//imshow("MyWindow", img);//waitKey(0);cv::Mat locMask(img.rows,img.cols,CV_8UC1,cv::Scalar(0));//imshow("locMask",locMask);while (infile >> img_filename >> head_num) {for(int i = 0 ; i< head_num;i++) {infile >> posx >> posy;pt = Point(posx,posy);coordinate.push_back(pt);}coordinates.push_back(coordinate);}//cout<<coordinate.size()<<endl;//cout<<coordinates.size()<<endl;for(int i=0;i<coordinates.size();i++)cout<<coordinates[i]<<" ";drawContours(locMask,coordinates,-1,cv::Scalar::all(255), CV_FILLED);imwrite("mask01.jpg",locMask);imshow("locMask",locMask);waitKey(0);return 0;
}

我的文件截图:

版权声明:本文为博主原创文章,欢迎转载,转载请注明原文地址、作者信息。

转载于:https://www.cnblogs.com/wmr95/p/8193418.html

Opencv undefined reference to `cv::imread() Ubuntu编译相关推荐

  1. undefined reference to ‘cv::imread问题调查

    Android ndk 编译报错: error: undefined reference to 'cv::imread(std::__ndk1::basic_string<char, std:: ...

  2. g++编译使用到opencv: undefined reference to `cv::String::deallocate(),

    g++编译一个包含opencv的文件,报错如下: tinyyolopostprocessor.cpp:(.text._ZN2cv6StringD2Ev[_ZN2cv6StringD5Ev]+0x14) ...

  3. undefined reference to `cv::imread(std::__cxx11::basic_string<char, std::char_traits<char>, std::all

    问题缘由 在准备运行一个车道线检测的一个开源项目的时候,已经按照其要求使用了,如下工具 而opencv的包是我直接下载的官网上的opencv4.5.1解压下来的,但是当我修改其cmakelists.t ...

  4. 关于QT下配置OpenCV3.4.0后出现 error: undefined reference to ‘cv::xxx‘的问题及解决方案,直接使用编译好的opencv库

    按照网上的办法,在QT中pro文件末尾添加以下代码来引入OpenCV的库和头文件: INCLUDEPATH += D:\OpenCV3.4\opencv\build_mingw\install\x64 ...

  5. undefined reference to `cv::VideoCapture::VideoCapture()‘

    ubuntu opencv两个版本都有,2.4.9和3.0 编译报异常: /lbg/pTrack/dsst/tqone/main/image_acquisition.cpp:36: error: un ...

  6. error: undefined reference to 'cv::_OutputArray::_OutputArray(std::__ndk1

    1.使用AS-OpenCvJNI时候,原来写的代码出现 error: undefined reference to 'cv::_OutputArray::_OutputArray(std::__ndk ...

  7. Clion:undefined reference to `cv::noArray()解决方案

    完整问题复现如下: ====================[ Build | GaussNewton | Debug ]============================= /usr/loca ...

  8. undefined reference to `cv::String::deallocate()一种可能解决方案

    1.问题:使用opencv遇到 undefined reference to `cv::String::deallocate() 2.原因:库文件使用4.5.2版本opencv,在项目中使用3.4.1 ...

  9. opencv undefined reference to symbol '_ZN2c...异常

    异常: /usr/bin/ld: ./src/flann.o: undefined reference to symbol '_ZN2cv5flann12SearchParamsC1Eifb' 解决: ...

最新文章

  1. shiro(2)-架构与配置
  2. 用函数计算工龄_还在加班熬夜求年龄,算工龄,学会这招让你分分钟钟搞定这些!...
  3. SparkSQL读取文件时,数据字段类型调整
  4. python爬虫入门心得体会,python爬虫入门和实例
  5. ieda ts文件报错_使用TS开发微信小程序(1):环境搭建——VSCode+TS
  6. 简单的数据库group by后要进行某字段拼接
  7. 处理App状态改变的策略
  8. webservice规范及webservice框架
  9. linux红帽子7.5,Red Hat Enterprise Linux 7.5正式发布,功能增强
  10. 机器学习之路一:线性模型、非线性模型、神经网络
  11. iText7添加页眉、页脚
  12. Java实现 蓝桥杯油漆问题
  13. 公开密钥密码体制(C语言实现RSA加密算法)
  14. 解决用 posman 调用 openai API 正常,用java代码调用超时问题
  15. Python学习-假人和配对
  16. 2018_Csrnet: Dilated convolutional neural networks for understanding the highly congested scenes
  17. 如有定义int a=128; 则输出语句printf(“%o”,a);的输出结果为?。
  18. [转]医院信息系统基本功能规范-乱录
  19. Zotero 中英文文献通用快捷引用方法
  20. Windows驱动中的电源管理

热门文章

  1. CCIE理论-第十五篇-IPV6-重分布+ACL+前缀列表
  2. 【2019牛客暑期多校训练营(第三场)- A】Graph Games(思维,对边分块)
  3. 【LightOJ - 1030】Discovering Gold(概率dp,数学期望,期望的线性性)
  4. mysql外键教程_关于MySQL外键的简单学习教程
  5. LeetCode——二叉树序列化与反序列化
  6. 超硬核!我统计了BAT笔试面试出现频率最高的五道题,学会了总能碰到一道
  7. leetcode66. 加一
  8. 小谈Online-game服务器端设计(3)
  9. 深度学习(05)--典型CNN结构(VGG13,16,19)
  10. Java设计模式(3 / 23):装饰者模式