我真的是一名 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一个非常相似的问题。另见 this和 that答案。别忘了-Wall -g
标记到 gcc
..
你不需要 IDE 来编译你的代码(IDE 只会运行一些 gcc
命令,所以最好知道如何自己使用它们)。
关于gcc - C 开发和 GTK+ 入门,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21536380/