我正在为iPhone编写一个静态库,我想知道我在做什么,或者我应该采取不同的方法.
我写的静态库依赖于libxml2.libxml2有一个动态库(dylib)和一个静态库(a).我尝试了两种方法.
方法一 - 当我尝试通过将"-lxml2"添加到"其他链接器标志"来链接静态库时,构建失败并显示以下消息:
/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin/libtool: file: -lxml2 is not an object file (not allowed in a library)
方法二 - 我可以成功链接静态库中的动态库,但我不确定iPhone上是否允许(或正确的方法).即使我正在构建静态库,Apple是否允许链接动态库的静态库?我还在学习静态库,但是根据我的理解,来自dylib的代码将与我的代码结合起来构成一个库,因此与dylib的链接应该不是问题.
总结一下:
mylibrary.a - > libxml2.a [不起作用]
mylibrary.a - > libxml2.dylib [构建,但这是正确的,可以接受吗?]
epatel.. 8
SDK中提供了libxml2.dylib.在正确的方法是在Xcode目标节点/应用程序,然后在常规单击双击+下的"链接库" ......你会发现libxml2.dylib在该列表中.
在此截屏视频中0:42 您可以看到CoreGraphics是如何添加到项目中的.
SDK中提供了libxml2.dylib.在正确的方法是在Xcode目标节点/应用程序,然后在常规单击双击+下的"链接库" ......你会发现libxml2.dylib在该列表中.
在此截屏视频中0:42 您可以看到CoreGraphics是如何添加到项目中的.