在linux上编译opencv的方法大致有两种,一种是直接按照c/c++程序那样在命令行编译,只是在编译时要包含进opencv动态链接库.另一种是用Cmake的方法.
命令行:
zoegreen@zoegreen-Lenovo-IdeaPad-Y470:~/robot$ g++ test.cpp -o test `pkg-config --cflags --libs opencv`
这里我们用到了一个工具“pkg-config”,它主要有以下几个功能:
检查库的版本号。如果所需要的库的版本不满足要求,它会打印出错误信息,避免链接错误版本的库文件。 获得编译预处理参数,如宏定义,头文件的位置。 获得链接参数,如库及依赖的其它库的位置,文件名及其它一些连接参数。
所有有了这个工具之后编译就很方便了(不过在此之前要确保安装的OpenCV的安装链接库文件的目录下有一个pkgconfig文件夹,在该文件夹里面有个opencv.pc的文件,其实这就是pkg-config下OpenCV的配置文件)。
使用pkg-config时,选项–cflags 它是用来指定程序在编译时所需要头文件所在的目录,选项 –libs则是指定程序在链接时所需要的动态链接库的目录。例如我下面