0
我想链接一个文件,“lib guile_2.0_la-foreign.o”,以便在macOS Sierra上构建guile-2.0.11。从make文件ld命令返回类似ffi符号在哪里定义?
"_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目录,但我仍然得到相同的错误。这些符号在哪里可以找到?
建立应用程序时,您是否确实链接过库?用'-lffi'? –
您是否按照如何正确链接Guile的说明操作? https://www.gnu.org/software/guile/manual/guile.html#Linking-Guile-into-Programs也许(虽然我不确定你指的是哪个“诡计”) –
链接完成通过一个通过配置文件生成的Makefile。反过来,配置文件使用自动工具生成,整个过程从下载来自GitHub存储库的guile-2.0.11包开始,并运行该包中的autogen.sh脚本文件。有关配置命令和make输出的更多详细信息,请参阅:[link](https://stackoverflow.com/questions/45013549/build-of-guile-2-0-11-on-macos- sierra-failures-undefined-symbols-for-architecture) – John