我刚下载并安装了Ruby for OSX版本的PDFLib(来自pdflib.com)
我使用以下设置:
ruby 1.9.3p429 (2013-05-15 revision 40747) [x86_64-darwin12.4.0]
OSX Yosemite 10.10.4
PDFLib 9.0.5
我的Ruby文件中的require 'PDFLib'
语句产生以下错误消息:
/Users/[...]/.rvm/rubies/ruby-1.9.3-p429/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in 'require': dlsym(0x7ff6e3ef4b90, Init_PDFLib): symbol not found - [...]/PDFLib.bundle (LoadError)
因此,似乎Ruby解释器无法在库中找到Init_PDFLib
。但是从nm
的输出中我得知这个符号似乎存在:
$ nm -g ./PDFlib.bundle | grep -i init
0000000000001200 T _Init_PDFlib
[...]
有谁知道出了什么问题?提前感谢您的回答。
答案 0 :(得分:0)
PDFlib文件名为PDF l ib.bundle(小 l ),我的代码执行了'PDF L ib' (大写 L )
事实证明,无论错误的大小写是什么,require都会加载包文件,但随后会搜索不存在的Init_PDF L ib符号。
因此,将require语句更改为require 'PDFlib'
(小 l )就可以了。