修复C库。标题引用了错误的位置

时间:2016-03-29 13:21:28

标签: c++ c applet

几年前我从一个项目获得了这个applet.c源文件。 (我在Ubuntu Mate,15.10(仅供参考)。)

它的依赖关系是:

#include <glib.h>
#include <glib/gi18n.h>

但那些标题不存在。所以我做了locate gi18n.hlocate glib.h 出现:

$ locate galloca.h
/usr/include/glib-2.0/glib/galloca.h
$ locate glib.h
...
/usr/include/glib-2.0/glib.h

所以我将applet.c源代码更改为:

#include <glib-2.0/glib.h>
#include <glib-2.0/glib/gi18n.h>

然后当我再次尝试编译时,glib.h对未找到的文件/glib/galloca.h投掷了致命错误。

然后我意识到所有连续头文件中的每个头文件都引用了glib-2.0头文件中的错误位置。

例如,glib.h表示存在的#include <glib/galloca.h>,但实际上是#include <glib-2.0/glib/galloca.h>

我该怎么办?

UPDATE $ gcc -I/usr/include/glib-2.0 applet.c会产生:

   glib-2.0 applet.c 
In file included from /usr/include/glib-2.0/glib/galloca.h:32:0,
                 from /usr/include/glib-2.0/glib.h:30,
                 from applet.c:26:
/usr/include/glib-2.0/glib/gtypes.h:32:24: fatal error: glibconfig.h: No such file or directory
compilation terminated.

这是一项重大改进!

0 个答案:

没有答案