zoukankan      html  css  js  c++  java
  • 【ARM-Linux开发】 pkg-config的用法

    pkg-config 是一个提供从源代码中编译软件时查询已安装的时使用的统一接口的计算机软件。pkg-config原本是设计用于Linux的,但现在在各个版本的BSDwindowsMac OS XSolaris上都有着可用的版本。

    它输出已安装的库的各个信息,包括:

    工作原理

    当安装一个库时(从RPMdeb或其他二进制包管理系统),会包括一个后缀名为pc的文件,它会同其他.pc文件一起放入一个文件夹(依赖与你的系统设置)。

    在这个文件里包含有数个条目。这些条目通常包含用于其他使用这个库的程序编译时需要的库设置,以及头文件的位置,版本信息和一个简介。

    这是一个用与libpng的.pc文件的样例:

     
    prefix=/usr/local
     exec_prefix=${prefix}
     libdir=${exec_prefix}/lib
     includedir=${exec_prefix}/include
      
     Name: libpng12
     Description: Loads and saves PNG files
     Version: 1.2.8
     Libs: -L${libdir} -lpng12 -lz
     Cflags: -I${includedir}/libpng12

    这个文件告诉我们这些库可以在/usr/local/lib找到,头文件可以在/usr/local/include里找到,库的名字是libpng12并且版本号是1.2.8。它也提供了用于编译依赖于libpng的源代码时需要的链接器参数。

    这儿是一个编译时使用pkg-config的样例:

    gcc -o test test.c $(pkg-config --libs --cflags libpng)
    

    参考链接

  • 相关阅读:
    【Vue】详解Vue生命周期
    千万不要用window自带文本编辑器编辑配置文件或者代码
    [其它]iOS 13 正式版发布 iPhone 6s或更新型号均可升级
    [转]解决ubuntu16.04 ‘E: 无法获得锁 /var/lib/dpkg/lock-frontend
    [golang]使用gomail发邮件(在Go中发送电子邮件的最佳方式)
    [golang]按图片中心旋转后的新图左顶点和原图左顶点的偏移量计算
    分布式CAP定理,为什么不能同时满足三个特性?
    Java如何运行一个class文件的main方法
    数据库的四大特性以及四个隔离级别和引发的问题
    Redis为什么可以支持那么大的并发访问量?为什么redis没有单点并发瓶颈?
  • 原文地址:https://www.cnblogs.com/huty/p/8517533.html
Copyright © 2011-2022 走看看