Mac/Linux编译OpenCV程序

编译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程序

安装成功之后,在命令行输入以下命令可以看到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即可。

猜你喜欢

转载自www.linuxidc.com/Linux/2016-09/135038.htm