编译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命令,具体方法参考教程。
安装成功之后,在命令行输入以下命令可以看到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://blog.csdn.net/tigerleap/article/details/8598044
http://www.learnopencv.com/how-to-compile-opencv-sample-code/