如何解决安装 FFI Gem 时出错 - [-Werror,-Wimplicit-function-declaration]
具体来说,错误如下:
Function.c:563:9: error: implicit declaration of function 'rb_thread_call_without_gvl' is invalid in
C99 [-Werror,-Wimplicit-function-declaration]
rb_thread_call_without_gvl(async_cb_wait,&w,async_cb_stop,&w);
^
Function.c:563:9: note: did you mean 'rb_thread_call_with_gvl'?
Function.c:102:14: note: 'rb_thread_call_with_gvl' declared here
extern void *rb_thread_call_with_gvl(void *(*func)(void *),void *data1);
^
Function.c:948:17: warning: 'ffi_prep_closure' is deprecated [-Wdeprecated-declarations]
ffiStatus = ffi_prep_closure(code,&fnInfo->ffi_cif,callback_invoke,closure);
^
/Library/Developer/CommandLinetools/SDKs/MacOSX.sdk/usr/include/ffi/ffi.h:350:18: note:
'ffi_prep_closure' has been explicitly marked deprecated here
__attribute__((deprecated))
我一直在尝试使用 Ruby 2.3.6 安装旧版本的 FFI v'1.9.18'。
解决方法
找到解决办法:
gem install ffi -v '1.9.18' -- --with-cflags="-Wno-error=implicit-function-declaration"
从这里得到解决方案:StackOverflow
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。