首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何在Linux上用GCC编译C和Gtk+?

如何在Linux上用GCC编译C和Gtk+?
EN

Stack Overflow用户
提问于 2013-02-19 04:36:42
回答 4查看 23.5K关注 0票数 8

我找了又找,但我没有得到我真正想要的信息。有没有人能解释一下,在Linux上用C语言写的时候,Gtk+代码是如何被编译的,尽可能的完整和基本。我完全不理解诸如反引号、"c99“和.o文件之类的东西。

我也非常感谢任何学习Gtk+代码的资源。我找到的所有源代码都是针对2.x版本的,但我认为3.6是当前版本。

我想重申,我只对C代码感兴趣。请不要试图向我解释C++或C#的好处,我已经全部读过了。我是来找C的谢谢!

EN

回答 4

Stack Overflow用户

发布于 2013-03-16 05:39:56

正如其他人所说,你的问题太宽泛了。它询问有关回号(基本shell语法)、什么是".o“文件(基本编程)和GTK编程(一些高级编程)的问题。

但是,为了更好地回答这个问题,假设您只有一个源文件,请使用

代码语言:javascript
运行
复制
gcc -Wall -Wextra -std=c99 `pkg-config --cflags --libs gtk+-2.0` example.c -o example

其中"example.c“是源的名称。细目如下:

  • 使用标志"-Wall“和"-Wextra”,以便您可以查看所有警告(并修复它们)。
  • 使用"std“标志设置您的C方言。有几个,gcc对其中的大多数要么完全支持,要么部分支持。有关更多信息,请阅读手册页或信息页。使用上面的"c99“并不是一个坏的选择。

配置并使用pkg-

  • 和命令替换(例如,反号)来设置库和includes。请注意,您可以同时执行这两项操作,尽管很多人通过两个带反引号的pkg-config版本使用了两次。在标记内,反标记替换来自命令的输出。尝试在命令行上运行反引号中的pkg-config,您将看到它的作用。

不幸的是,针对3.x GTK代码的资源并不多,而且大多数还是基于2.x的。您只能求助于gtk邮件列表或参考手册。

至于GTK 3.x,你不能编译它的原因可能是你的发行版是基于GTK 2.x的。较新的发行版可能在其repos中包含GTK 3.x。

票数 2
EN

Stack Overflow用户

发布于 2016-12-24 03:44:57

在Gtk Docs Getting Started页面中:

代码语言:javascript
运行
复制
gcc `pkg-config --cflags gtk+-3.0` -o example example.c `pkg-config --libs gtk+-3.0`

另请查看Nikos C.'s Aswer以了解有关pkg-config的更多信息。

票数 2
EN

Stack Overflow用户

发布于 2019-02-22 01:33:34

通过gtk2.0示例:

代码语言:javascript
运行
复制
$gcc test.c -o gnometest $(pkg-config --cflags --libs gtk+-2.0)

通过gtk3.0示例:

代码语言:javascript
运行
复制
$gcc $(pkg-config --cflags gtk+-3.) test.c -o gnometest $(pkg-config --libs gtk+-3.0) 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14944866

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档