【问题标题】:gcc options: pkg-config --libs --cflags gtk+-3.0gcc 选项:pkg-config --libs --cflags gtk+-3.0
【发布时间】:2019-02-16 13:41:43
【问题描述】:

我正在尝试学习 gtk 并点击此链接:http://zetcode.com/gui/gtk2/firstprograms/ 我能够运行一个基本程序。编译代码的方法是使用命令:

gcc -o simple simple.c `pkg-config --libs --cflags gtk+-3.0`

我想了解标志 pkg-config --libs --cflags gtk+-3.0 的含义。

我尝试在手册页中搜索标志 pkg-config--libs--cflags,但找不到它们。如果我能理解 `` 中的 sn-p 文本的实际含义,我会感到相当满意。

【问题讨论】:

  • 不好,可能会失败。不是用gtk。真实的是gcc simple.c `pkg-config --cflags --libs gtk+-3.0` -o simple

标签: c gcc sh pkg-config


【解决方案1】:

要使用 GTK+ 3.0 编译程序,您需要提供编译选项来告诉编译器在哪里寻找包含文件和库文件。

您可以使用适当的编译器选项直接指定它们。 或者,您可以使用安装 GTK+ 软件包时配置的标志。 可以使用pkg-config 命令检索这些标志。

将命令放入 `` 会导致内容被执行并被命令的输出替换。 这将提供构建应用程序所需的编译标志 (--cflags) 和库选项 (--libs)。

【讨论】:

  • 我明白了,所以 pkg-config 是 linux 识别并吐出您要求的有关软件包的信息的东西,当使用标志 --cflags 和 --libs 运行时,它会准确吐出c 编译器编译程序所需的信息。大概是在安装 gtk 时将这些信息输入到 pkg-config 中。我还在终端中输入了“pkg-config --libs --cflags”,它会吐出一大串目录,开头带有 -I 前缀,我认为这是告诉 c 编译器在哪里找到库的方式文件。
  • 是的,它就是这样工作的。用户 xing 在您的问题下方的评论中提供了 pkg-config 手册的链接。
猜你喜欢
  • 2022-01-13
  • 2012-04-04
  • 1970-01-01
  • 1970-01-01
  • 2017-11-18
  • 2018-10-06
  • 1970-01-01
  • 1970-01-01
  • 2022-09-26
相关资源
最近更新 更多