ffi符号在哪里定义?

时间:2017-07-12 16:02:53

标签: c++ macos-sierra guile

我正在尝试链接文件," 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目录,但我仍然得到同样的错误。这些符号在哪里找到?

1 个答案:

答案 0 :(得分:0)

在Makefile中,有一个环境变量(LIBFFI_LIBS),它指定ffi库的路径。我错过了告诉链接器实际链接库的标志。

我将其值从LIBFFI_LIBS="-L/usr/local/opt/libffi/lib"更改为LIBFFI_LIBS="-L/usr/local/opt/libffi/lib -lffi",所有关于未定义ffi符号的错误现已消失。