我正在尝试链接文件," lib guile_2.0_la-foreign.o"为了在macOS Sierra上构建guile-2.0.11。 make文件中的ld命令返回十几个类似于
的错误"_ffi_type_float", referenced from:
_fill_ffi_type in lib guile_2.0_la-foreign.o
ld: symbol(s) not found for architecture x86_64
" _ffi_type_xxx"在" xxx"中有所不同位置。我已经用hombrew安装了libffi,并告诉CPPFLAGS和LDFLAGS在哪里找到lib和include目录,但我仍然得到同样的错误。这些符号在哪里找到?
答案 0 :(得分:0)
在Makefile中,有一个环境变量(LIBFFI_LIBS),它指定ffi库的路径。我错过了告诉链接器实际链接库的标志。
我将其值从LIBFFI_LIBS="-L/usr/local/opt/libffi/lib"
更改为LIBFFI_LIBS="-L/usr/local/opt/libffi/lib -lffi"
,所有关于未定义ffi符号的错误现已消失。