pkg-config讲解

来源:互联网 发布:偷水仙花包饺子 知乎 编辑:程序博客网 时间:2024/05/17 06:24

pkg-config主要被用于编译和链接的时候指定头文件和库文件的路径
其输出信息由软件提前写好储存在 /usr/lib/pkgconfig /usr/lib64/pkgconfig目录下,以库名命名.pc ,例如
opencv.pc

里面内容为:

# Package Information for pkg-configprefix=/usrexec_prefix=${prefix}libdir=${exec_prefix}/libincludedir_old=${prefix}/include/opencvincludedir_new=${prefix}/includeName: OpenCVDescription: Open Source Computer Vision LibraryVersion: 2.4.11Libs: -L${exec_prefix}/lib -lopencv_calib3d -lopencv_contrib -lopencv_core -lopencv_features2d -lopencv_flann -lopencv_gpu -lopencv_highgui -lopencv_imgproc -lopencv_legacy -lopencv_ml -lopencv_nonfree -lopencv_objdetect -lopencv_ocl -lopencv_photo -lopencv_stitching -lopencv_superres -lopencv_ts -lopencv_video -lopencv_videostab -lrt -lpthread -lm -ldlCflags: -I${includedir_old} -I${includedir_new}

其内容主要是指定链接参数,如 -lopencv_core
-I /usr/local/opencv 等等

此外,还可使用 PKG_CONFIG_PATH 环境变量指定其他的.pc文件存放位置,会被一并索引,例如

export PKG_CONFIG_PATH=/usr/lib/pkgconfig

我的系统是64位openSUSE 坑爹的是,其默认搜索路径只有 /usr/lib64/pkgconfig 而没有 /usr/lib/pkgconfig 需要手动添加
为了使其在每次启动时都有效,可以将以上语句添加到 /etc/profile.local里

0 0
原创粉丝点击