新手问题 从 C 中调用 ruby,发现找不到 -lruby

kooder · 2017年04月22日 · 最后由 kooder 回复于 2017年04月22日 · 1105 次阅读

参考链接 http://silverhammermba.github.io/emberb/embed/ 中的做法进行编译,

gcc -I/usr/include/ruby-2.4.0 -I/usr/include/ruby-2.4.0/x86_64-linux -lruby

发现 -lruby 时找不到对应的库,这个库在哪里可以获取呢?

谢谢!

本地用的是 ruby 1.8,ubuntu 12.04 32-bit

解决了。

ruby_config() { ruby1.9 -rrbconfig -e "puts Config::CONFIG['$1']" | grep -v "ruby 1.9.0"; } gcc embed.c -o embed \ -I ruby_config rubyhdrdir \ -I ruby_config rubyhdrdir/ruby_config arch \ -L ruby_config libdir \ ruby_config LDFLAGS \ ruby_config LIBS \ ruby_config LIBRUBYARG

参考 http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/14864 http://blog.csdn.net/wu4long/article/details/4048759

kooder 关闭了讨论。 04月22日 17:35
需要 登录 后方可回复, 如果你还没有账号请 注册新账号