如何使用pkg-config工具编译链接第三方库

我们在使用第三方库(如OpenCV,Boost等)时,难免会遇到相关的库的编译连接问题,而每次重复繁杂的配置的确让人懊恼,而pkg-config1工具提供了一个相对简单的库的编译链接方法。这里就简单介绍一下pkg-config的使用方法。

我们知道,第三方库的使用主要涉及头文件的路径设置,库的路径设置以及动态库的环境变量设置。当然有的库的使用是仅仅需要头文件,例如Eigen以及大部分Boost,这样就不需要设置库路径和动态库的环境变量。pkg-config通过读取一个*.pc的文件,获取了库的头文件位置和库的路径等信息,然后告知编译器,实现库的自动使用。一般来说,*.pc文件的大体内容如下格式:

prefix=/usr/local
exec_prefix=${prefix}
includedir=${prefix}/include
libdir=${exec_prefix}/lib

Name: foo
Description: The foo library
Version: 1.0.0
Cflags: -I${includedir}/foo
Libs: -L${libdir} -lfoo

Read More