Glib无法找到libffi即使使用cflags / pkgconfig!

问题描述

很抱歉,如果这是一个愚蠢的问题,但是当我尝试编译Glib时,找不到libffi。我有静态和共享库,pkgconfig文件,makefile中设置的cflags / libs,但找不到它。

make[4]: Entering directory '/home/user/tmp-glib/glib-2.50.2.build_/gobject'
  cclD     gobject-query.exe
lld-link: error: undefined symbol: ffi_prep_cif
>>> referenced by /home/user/tmp-glib/glib-2.50.2/gobject/gclosure.c:1487
>>>               libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(g_cclosure_marshal_generic)
>>> referenced by /home/user/tmp-glib/glib-2.50.2/gobject/gclosure.c:1601
>>>               libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(g_cclosure_marshal_generic_va)

lld-link: error: undefined symbol: ffi_call
>>> referenced by /home/user/tmp-glib/glib-2.50.2/gobject/gclosure.c:1490
>>>               libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(g_cclosure_marshal_generic)
>>> referenced by /home/user/tmp-glib/glib-2.50.2/gobject/gclosure.c:1604
>>>               libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(g_cclosure_marshal_generic_va)

lld-link: error: undefined symbol: ffi_type_double
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_double)

lld-link: error: undefined symbol: ffi_type_float
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_float)

lld-link: error: undefined symbol: ffi_type_pointer
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_pointer)

lld-link: error: undefined symbol: ffi_type_sint32
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_sint32)

lld-link: error: undefined symbol: ffi_type_sint64
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_sint64)

lld-link: error: undefined symbol: ffi_type_uint32
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_uint32)

lld-link: error: undefined symbol: ffi_type_uint64
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_uint64)

lld-link: error: undefined symbol: ffi_type_void
>>> referenced by libgobject-2.0.a(libgobject_2_0_la-gclosure.o):(.refptr.ffi_type_void)
clang-10: error: linker command Failed with exit code 1 (use -v to see invocation)
make[4]: *** [Makefile:1322: gobject-query.exe] Error 1

Makefile在LIBFFI_LIBS / CFLAGS中看起来像这样

LIBFFI_CFLAGS="-I/home/user/usr/i686-mingw32/lib/libffi-3.2.1/include -I/home/user/usr/i686-mingw32/include"
LIBFFI_LIBS="-L/home/user/usr/i686-mingw32/lib -lffi"

PKG_CONfig也已设置,并且在Konsole中运行时返回以下内容

$ i686-w64-mingw32-pkg-config --libs --cflags libffi
-lffi
$

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)