Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/http/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Gtk G链接到libgirepository内部和libgirepository-1.0的投影透视_Gtk - Fatal编程技术网

Gtk G链接到libgirepository内部和libgirepository-1.0的投影透视

Gtk G链接到libgirepository内部和libgirepository-1.0的投影透视,gtk,Gtk,尝试向gobject内省测试套件添加测试,以涵盖更多函数并了解代码。 想要创建一个简单的测试来从libgirepository_内部创建一个对象。a但是链接有问题, 不知有没有人能给我一些建议 代码就在这里,它是一个简单的主分支git://git.gnome.org/gobject-introspection 添加一些测试 GobjectProspection的项目页面为 未链接的测试模块是: 我所做的只是添加了额外的库: $(top_builddir)/libgirepository-int

尝试向gobject内省测试套件添加测试,以涵盖更多函数并了解代码。 想要创建一个简单的测试来从libgirepository_内部创建一个对象。a但是链接有问题, 不知有没有人能给我一些建议

代码就在这里,它是一个简单的主分支git://git.gnome.org/gobject-introspection 添加一些测试

GobjectProspection的项目页面为

未链接的测试模块是:

我所做的只是添加了额外的库:

$(top_builddir)/libgirepository-internals.la
gitestenum_SOURCES = $(srcdir)/gitestenum.c
gitestenum_CPPFLAGS = $(GIREPO_CFLAGS) -I$(top_srcdir)/girepository
gitestenum_LDADD = $(top_builddir)/libgirepository-1.0.la $(top_builddir)/libgirepository-internals.la $(top_builddir)/libgirepository-gthash.la $(GIREPO_LIBS)
以下是编译器错误:

CCLD   gitestenum
../../.libs/libgirepository-internals.a(libgirepository_internals_la-girnode.o): In         function `_g_ir_node_get_full_size_internal':
gobject-introspection/girepository/girnode.c:629: undefined reference to         `g_type_tag_to_string'
../../.libs/libgirepository-internals.a(libgirepository_internals_la-girnode.o): In function `serialize_type':
gobject-introspection/girepository/girnode.c:1198: undefined reference to `g_type_tag_to_string'
../../.libs/libgirepository-internals.a(libgirepository_internals_la-girmodule.o):         In function `_g_ir_module_build_typelib':
gobject-introspection/girepository/girmodule.c:548: undefined reference to         `g_typelib_new_from_memory'
../../.libs/libgirepository-internals.a(libgirepository_internals_la-giroffsets.o):         In function `get_type_size_alignment':
gobject-introspection/girepository/giroffsets.c:300: undefined reference to         `gi_type_tag_get_ffi_type'
../../.libs/libgirepository-internals.a(libgirepository_internals_la-giroffsets.o): In function `get_enum_size_alignment':
gobject-introspection/girepository/giroffsets.c:174: undefined reference to `g_type_tag_to_string'
../../.libs/libgirepository-internals.a(libgirepository_internals_la-giroffsets.o):         In function `get_type_size_alignment':
gobject-introspection/girepository/giroffsets.c:311: undefined reference to `g_type_tag_to_string'
困扰我的是,这些符号就在那里:

gobject-introspection/.libs$ nm libgirepository-1.0.so | grep g_type_tag_to_string
    0000f0c0 T g_type_tag_to_string

gobject-introspection/.libs$ nm libgirepository-1.0.a | grep g_type_tag_to_string
    U g_type_tag_to_string
    00001e00 T g_type_tag_to_string
             U g_type_tag_to_string
这是内部链接器命令
/usr/lib/gcc/i686 linux gnu/4.6.1/collect2——构建id——无需添加——根据需要——eh frame hdr-m elf_i386——hash style=gnu-dynamic linker/lib/ld linux.so.2-z relro-o.libs/gitestenum/usr/lib/gcc/i686 linux gnu/4.6.1/../../../i386 linux gnu/crt1.o/usr/lib/gcc/i686 linux gnu/4.6.1/../../../i386/usr/lib/gcc/i686 linux gnu/4.6.1/crtbegin.o-L/usr/lib/gcc/i686 linux gnu/4.6.1-L/usr/lib/gcc/i686 linux gnu/4.6.1/../../../../i386 linux gnu-L/usr/lib/gcc/i686 linux gnu/4.6.1/../../../../../../lib-L/lib/L/usr/lib/lib/lib/i386 linux gnu-L/../../L/usr/lib。。gitestenum gitestenum.o--导出动态../../.libs/libgirepository-1.0.so../.libs/libgirepository internals.a-lm-ldl/usr/lib/i386 linux-gnu/libgio-2.0.so/usr/lib/i386 linux-gnu/libgmodule-2.0.so-lffi/usr/lib/i386 linux-gnu/libgobject-2.0.so/i386 linux-gnu/libgthread-2.0.so-lrt/usgmodule/lib-ig-2.0.cc--按需-lgcc_s--不按需-lpthread-lc-lgcc--按需-lgcc_s--不按需/usr/lib/gcc/i686 linux gnu/4.6.1/crtend.o/usr/lib/gcc/i686 linux gnu/4.6.1/../../../../i386 linux gnu/crtn.o

谢谢, 迈克

此消息已发布到邮件列表:gtk-devel-list@gnome.org但是,我正在等待缓和,我把它贴在这里是为了快速获得帮助。 此消息已发布到gtk-devel列表中

已解决,是#-导出符号regex“^gi” 此处提交的代码已解析,为#-导出符号regex“^gi” 这里提交的代码