【问题标题】:Getting Started with C development and GTK+C 开发和 GTK+ 入门
【发布时间】:2014-02-03 19:49:38
【问题描述】:

我真的是一个专门的 Python 开发人员,但我现在是第一次涉足 C 编程,但我在入门时遇到了很多麻烦。我似乎无法掌握编译和包括库的窍门。在这一点上,我只是确定我需要的库并尝试使用基本的“hello, world”应用程序编译它们,以确保我已经设置好我的环境来进行实际编程。

这是一个 DBus 后端应用程序,它将使用 GIO 连接到 DBus。

#include <stdlib.h>
#include <gio/gio.h>

int 
main (int argc, char *argv[])
{
    printf("hello, world");
    return 0;
}

然后,我尝试编译:

~$ gcc main.c
main.c:2:21: fatal error: gio/gio.h: No such file or directory
 #include <gio/gio.h>

我相信我已经安装了正确的软件包,如 here 所示,并且 gio.h 存在于 /usr/include/glib-2.0/gio/gio.h

我在网上找到了一个命令,将搜索目录添加到gcc,但是导致了其他错误:

~$ gcc -I /usr/include/glib-2.0/ main.c 
In file included from /usr/include/glib-2.0/glib/galloca.h:34:0,
                 from /usr/include/glib-2.0/glib.h:32,
                 from /usr/include/glib-2.0/gobject/gbinding.h:30,
                 from /usr/include/glib-2.0/glib-object.h:25,
                 from /usr/include/glib-2.0/gio/gioenums.h:30,
                 from /usr/include/glib-2.0/gio/giotypes.h:30,
                 from /usr/include/glib-2.0/gio/gio.h:28,
                 from main.c:2:
/usr/include/glib-2.0/glib/gtypes.h:34:24: fatal error: glibconfig.h: No such file or directory
 #include <glibconfig.h>
                        ^
compilation terminated.

必须有一些相对简单的方法来设置一些选项/变量(makefile?)以自动包含必要的标题。我还将使用 Eclipse-CDT 或 Anjuta 作为 IDE,希望能帮助我修复导入路径(或在 C 中调用的任何内容)。

非常感谢任何帮助。

【问题讨论】:

标签: gcc gtk


【解决方案1】:

使用pkg-config(和make)。请参阅 this answer 到一个非常相似的问题。另请参阅 thisthat 答案。不要忘记将-Wall -g 标记为gcc ..

你不需要 IDE 来编译你的代码(IDE 只会运行一些 gcc 命令,所以最好自己知道如何使用它们)。

【讨论】:

  • 感谢您的提示。这有效gcc -Wall -g main.c $(pkg-config --libs --cflags glib-2.0) -o main。我必须学习make,但这至少能让我入门。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多