pkg-config 查找库和用于编译

11 篇文章 1 订阅

今天在看LTTng 文档的时候看到这个指令。

gcc -o notif-app notif-app.c $(pkg-config --cflags --libs lttng-ctl)

查了一下 pkg-config是一个linux下的命令,用于获得某一个库/模块的所有编译相关的信息。

pkg-config --cflags --libs lttng-ctl执行结果:

-I/usr/local/include -L/usr/local/lib -llttng-ctl

那以后编译程序连接很多安装的库和接口的时候就可以省力很多了。

DESCRIPTION

   The pkg-config program is used to retrieve information about installed  libraries  in  the
   system.   It is typically used to compile and link against one or more libraries.  Here is
   a typical usage scenario in a Makefile:

   program: program.c
        cc program.c $(pkg-config --cflags --libs gnomeui)

   pkg-config retrieves information about packages from special metadata files.  These  files
   are  named  after the package, and has a .pc extension.  On most systems, pkg-config looks
   in     /usr/lib/pkgconfig,     /usr/share/pkgconfig,     /usr/local/lib/pkgconfig      and
   /usr/local/share/pkgconfig  for  these  files.   It  will  additionally look in the colon-
   separated  (on  Windows,  semicolon-separated)  list  of  directories  specified  by   the
   PKG_CONFIG_PATH environment variable.

   The package name specified on the pkg-config command line is defined to be the name of the
   metadata file, minus the .pc  extension.  If  a  library  can  install  multiple  versions
   simultaneously,  it  must  give each version its own name (for example, GTK 1.2 might have
   the package name "gtk+" while GTK 2.0 has "gtk+-2.0").

   In addition to specifying a package name on the command line, the full path to a given .pc
   file may be given instead. This allows a user to directly query a particular .pc file.

在Makefile中不能像在shell中那样使用!!!!!!
要这样写:

LTTng_Lib = $(shell pkg-config --cflags --libs lttng-ctl)

all:
	g++ my_app.cpp $(LTTng_Lib)

可能是在Makefile中不能等调用shell返回吧。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
### 回答1: Windows下的pkg-config是一个用于管理和使用编译时和链接时的依赖项的程序。它最初是为Linux和类Unix系统开发的,但也被移植到了Windows上。 pkg-config可以帮助开发人员轻松地查找和安装所需的。它为开发人员提供了一种简单的方式来指定和管理程序所需的依赖项。这对于跨平台开发和移植软件非常有用,因为不同的操作系统可能需要不同的。 使用pkg-config开发人员可以在编译和链接时引用已安装的,而不必手动指定包含路径、编译选项等等。这极大地简化了软件开发的过程,并减少了错误和编译问题的可能性。 需要注意的是,Windows下的pkg-config需要和一些一起使用,如Cygwin和MinGW等。此外,它也可能与一些IDE不兼容,如Visual Studio。 总之,pkg-config是一个非常有用的工具,可以方便地管理和使用编译时和链接时的依赖项,从而简化了软件开发的过程。 ### 回答2: Windows的pkg-config是一个命令行工具,用于帮助开发人员在Windows上查找和链接文件。它通常用于Unix系统中,但在Windows上也可以使用它。 使用pkg-config可以告诉编译的位置,将需要的文件链接到编译器的命令中。如果没有正确链接文件,则编译器会报错并停止编译过程。 为了在Windows上使用pkg-config,首先需要安装MinGW和MSYS环境。然后将pkg-config文件夹添加到环境变量中,以便在命令行中访问它。接下来,开发人员需要在代码中包含所需文件的路径,并调用pkg-config命令来查询和链接文件。 总体而言,pkg-config在Windows开发过程中是一个非常有用的工具,可以简化开发人员查找和链接文件的过程。 ### 回答3: Windows pkg-config是一个用于管理编译参数的工具,主要用于在Windows系统上编译和链接第三方。它可以帮助开发者轻松地管理的版本和依赖关系,减少编译和链接错误。这个工具最初是为Linux系统设计的,但是现在它已经过渡到了Windows平台上,被广泛应用于各种开发工具中。 Windows pkg-config使用一个名为.pc的配置文件,该文件描述的元数据信息。使用这个配置文件,开发人员可以获得有关的版本、包含头文件和文件的路径、编译和链接选项等信息。在Windows系统上使用pkg-config需要安装该工具,并将其包含路径添加到编译器中。 使用pkg-config可以帮助开发人员更好地管理第三方,尤其是对于包含多个文件的大型。通过pkg-config,可以轻松地检查文件的版本和依赖关系,并在编译和链接时使用正确的文件。这个工具可以增强代码的可移植性和可维护性,并减少代码错误和重复工作。因此,pkg-config被广泛应用于各种开发环境中,无论是开源项目还是商用软件。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小羊苏C

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值