我真的是一个独立的Python开发人员,但我现在第一次尝试进行C编程,而且我在开始时遇到了很多麻烦。我似乎无法掌握编译和包括库。在这一点上,我只是确定了我需要的库,并尝试使用基本的" hello,world"来编译它们。 app只是为了确保我的环境设置能够进行实际的编程。
这是一个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中调用它的任何内容)。
非常感谢任何帮助。
答案 0 :(得分:4)
使用pkg-config
(和make
)。准确查看this answer到一个非常相似的问题。另请参阅this和that个答案。不要忘记-Wall -g
的{{1}}标志..
您不需要IDE来编译代码(IDE将只运行一些gcc
命令,因此更好地了解如何自己使用它们。)