linux中结合opencv编译c++代码

添加代码test.cpp如下:

#include 

int main(int argc,char ** argv) {

    IplImage* img = cvLoadImage(argv[1],CV_LOAD_IMAGE_COLOR);
    cvNamedWindow("Image_show",CV_WINDOW_AUTOSIZE);
    cvShowImage("Image_show",img);
    cvWaitKey(0);
    cvReleaseImage(&img);
    cvDestroyWindow("Image_show");
    return 0;
}

方法一:通过g++的命令编译得到test可执行文件代码如下:

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

在上面的编译命令中我们其实用到了一个工具“pkg-config”,它主要有以下几个功能:
  1.检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接错误版本的库文件。
  2.获得编译预处理参数,如宏定义,头文件的位置。
  3.获得链接参数,如库及依赖的其它库的位置,文件名及其它一些连接参数。
  4.自动加入所依赖的其它库的设置
  有了这个工具之后我们的编译就很方便了(不过在此之前你要确保你安装的OpenCV的安装链接库文件的目录下有一个pkgconfig文件夹,在该文件夹里面有个opencv.pc的文件,其实这就是pkg-config下OpenCV的配置文件)。
  使用pkg-config时,选项–cflags 它是用来指定程序在编译时所需要头文件所在的目录,选项 –libs则是指定程序在链接时所需要的动态链接库的目录。
  方法二:使用Cmake进行编译,通过编辑CMakeLists.txt文件。
  通过修改opencv中生成的CMakeLists.txt文件进行编译。
  详情待续。。。

你可能感兴趣的:(Opencv,Linux学习)