我一直在尝试在Mac OS X的XCode项目中使用动态库,但是至今没有成功。
我能够加载dylib文件,但是当我调用dlsym以获取函数指针时,它返回0并且dlerror显示找不到符号。
因此,我想知道是否有一种简单的方法来列出从dylib文件导出的符号。任何想法都将是很好的。
man 1 nm
例如:
nm -gU /usr/local/Cellar/cairo/1.12.16/lib/cairo/libcairo-trace.0.dylib
otool -T
报告功能已过时
是真实的,但(对于动态库而言)objdump -t
同样也会报告该文件无法被识别为有效对象文件。
- TML使用nm -a your.dylib
将会打印出所有符号,包括全局符号
nm -gu
,即-u
选项为小写。 - András Aszódiman 1 nm
列出了许多可以使用nm执行的任务。这仍然是一个外部资源,可以通过阅读来发现解决方案,但不是对所请求的“简单列出从dylib文件导出的符号的方法”的解决方案本身。而“nm -gU….dylib
”则是解决方案。 - Slipp D. Thompson/System/Library/Frameworks/Cocoa.framework/Versions/A/Cocoa
。 - vaughan