gcc - C 开发和 GTK+ 入门

标签 gcc gtk

我真的是一名 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 中调用的任何内容)。

任何帮助是极大的赞赏。

最佳答案

使用 pkg-config (和 make )。准确查看this answer一个非常相似的问题。另见 thisthat答案。别忘了-Wall -g标记到 gcc ..

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

关于gcc - C 开发和 GTK+ 入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21536380/

相关文章:

c - printf() 在c 中用%p 格式打印的地址是哪个?

c++ - 在 Linux 中获取当前进程创建时间

GTK+ 3 的 Ruby 绑定(bind)?

linux - 如何在 Linux 上捆绑 Mono/GTK# 应用程序?

gtk - 通过 GTK 获取 dpi 设置

c - GTK3.0 GUI 在使用 "g_spawn_async_with_pipes()"时卡住

c - makefile 在 Windows 上适用于 cygwin,但不适用于 ubuntu

c++11 - 如何处理由空模板参数包扩展引起的未使用警告?

C++:为什么 gcc 在访问 operator[] 时更喜欢非 const 而不是 const?

macos - lablgtk 在 Mac 上找不到 gtk+ 2.0