Где определены символы ffi?

Я пытаюсь связать файл «lib guile_2.0_la-foreign.o», чтобы собрать guile-2.0.11 на macOS Sierra. Команда ld из файла make возвращает более десятка ошибок, похожих на

"_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». Я установил libffi с hombrew и сказал CPPFLAGS и LDFLAGS, где найти lib и включить каталоги, но я все еще получаю ту же ошибку. Где можно найти эти символы?

0

Решение

В Makefile есть переменная окружения (LIBFFI_LIBS), которая указывает путь к библиотеке ffi. Мне не хватало флажка, указывающего компоновщику на фактическую ссылку на библиотеку.

Я изменил его значение с LIBFFI_LIBS="-L/usr/local/opt/libffi/lib" в LIBFFI_LIBS="-L/usr/local/opt/libffi/lib -lffi" и все ошибки о неопределенных символах ffi теперь исчезли.

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]