你好,游客 登录 注册 搜索
背景:
阅读新闻

Mac/Linux编译OpenCV程序

[日期:2016-09-08] 来源:Linux社区  作者:lkj345 [字体: ]

编译C++程序

在编译OpenCV程序之前,先看一下普通的C++程序如何编译,假设main.cpp有如下代码,最终结果是打印hello world,

#include <iostream>
using namespace std;

int main(int argc, const char * argv[])
{
    cout << "hello world" << endl;
    return 0;
}

在命令行中只要输入以下命令就可以看到输出hello world,

g++ main.cpp -o main
./main

编译OpenCV程序

首先需要安装pkg-config命令,具体方法参考教程http://www.linuxidc.com/Linux/2016-09/135037.htm

安装成功之后,在命令行输入以下命令可以看到OpenCV相应的头文件和动态库文件的路径,

pkg-config --cflags --libs opencv

一个OpenCV程序不光需要编译程序本身,还需要将OpenCV相应的头文件和动态库文件一起编译,假设main.cpp中的程序如下,

#include <opencv2/opencv.hpp>

using namespace cv;

int main(int argc, const char * argv[]) {

    IplImage *img = cvLoadImage("the path of a image");
    cvNamedWindow ("Source", 1);
    cvShowImage ("Source", img);

    cvWaitKey(0);
    cvReleaseImage(&img);
    return 0;
}

在命令行中输入以下程序进行编译并运行,注意包围pkg-config部分的是`号不是单引号’,程序可以显示自己指定的一张图片,

g++ `pkg-config --cflags --libs opencv` main.cpp -o main
./main

如果觉得每次输入以上编译程序很麻烦,可以将其存储到文件中,首先使用touch Makefile命令创建Makefile文件,里面输入如下内容,

all:
    g++ `pkg-config --cflags --libs opencv` main.cpp -o main

这样只要在命令行中输入make即可。

本文永久更新链接地址http://www.linuxidc.com/Linux/2016-09/135038.htm

linux
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款