pkg-config使用

pkg-config用来检索系统中安装库文件的信息。典型的是用作库的编译和链接。
pkg-config --list-all  可以列出所有可使用的包
pkg-config要求库提供一个.pc元数据文件,从这些文件中检索库的各种必要信息,包括版本信息,编译和链接需要的参数等。这些信息可以通过pkg-config提供的参数(如--cflags, --libs)单独提取出来直接供编译器和链接器使用。

pkg-config就是用来解决编译链接界面不统一问题的一个工具。

比如我刚刚在Ubuntu上安装了opencv,当我用下面的command line编译时出错。

gcc -o face face.c

错误信息为:face.c:3:18: fatal error: cv.h: No such file or directory。虽然我已经安装了opencv,但是我并没有告知程序去哪里找cv.h这个文件。这就可以通过pkg-config来解决这个问题。如下所示

gcc -o face face.c `pkg-config opencv --libs --cflags`

当我执行pkg-config opencv --libs --cflags的结果如下

-I/usr/local/include/opencv -I/usr/local/include -L/usr/local/lib -lopencv_shape -lopencv_stitching -lopencv_objdetect -lopencv_superres -lopencv_videostab -lopencv_calib3d -lopencv_features2d -lopencv_highgui -lopencv_videoio -lopencv_imgcodecs -lopencv_video -lopencv_photo -lopencv_ml -lopencv_imgproc -lopencv_flann -lopencv_core

这就是opencv程序需要链接的库。

opencv的库文件通常放在/usr/local/lib下面,头文件通常放在/usr/local/include/opencv下面。如果想要查看已安装的opencv的版本,可以通过如下命令来查看。

pkg-config --modversion opencv

你可能感兴趣的:(C/C++,Linux常用命令)