我有一个使用xmppframework的xcode项目。
根据https://github.com/robbiehanson/KissXML/wiki/GettingStarted,此框架的KissXML模块需要libxml2。
我按照这些说明操作,并从ftp://xmlsoft.org/libxml2/下载了libxml2。 具体来说,我下载并提取了LATEST_LIBXML2,结果证明是libxml2-2.9.2。
然后我将相关的标题搜索路径添加到我的xcode项目中,并且
-l" lxml2"
到我的链接器标志。
但是,当我构建项目时,它会出现以下链接器错误:
ld:找不到-llxml2的库 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用)
我怀疑这是因为我需要自己构建libxml2,以获取库二进制文件。但是,我无法在OS X Yosemite,xcode 6上找到执行此操作的具体说明。
有没有人有关于在OS X Yosemite,Xcode 6上构建libxml2-2.9.2的任何说明,以便我可以在我的项目中链接到它?
或者,如果有人可以为libxml2-2.9.2提供二进制文件,那么这也可能有用。我确实找到http://www.explain.com.au/oss/libxml2xslt.html#id2658905,但这个人似乎只为旧版本的libxml2提供二进制文件,而不是当前版本。 谢谢!
致以最诚挚的问候,
克里斯
答案 0 :(得分:1)
我在Solaris SPARC,Linux和Windows上构建了 LibXML2 (最新版本2.9.2)。我从未使用过MacOS(差评=))。
这是我的brief instruction。您可以尝试类似的方式。
cd /opt/mydir/libxml2
mkdir linux-gcc3
gunzib -c libxml2-2.9.2.tar.gz | tar xvf –
cd libxml2-2.9.2
./configure --prefix=/opt/mydir/libxml2/linux-gcc3 --enable-static --disable-shared 2>&1 | tee conf.log
## 64 bit
## ./configure CC="cc -m64" --prefix=/opt/mydir/libxml2/linux-gcc3 --enable-static --disable-shared 2>&1 | tee conf.log
make 2>&1 | tee make.log
make install
答案 1 :(得分:1)
首先,该库名为libxml2,因此该链接应为-lxml2
而不是-llxml2
。
其次,OSX / iOS已经存在libxml2 内置,您实际上可以在项目的链接库部分中引用该库。除非您真的需要更新版本的新功能,否则通常不需要构建库。
在项目的“常规”标签中,使用Linked frameworks and Libraries
添加对libxml2.dylib
的引用。
您引用的页面上的说明使用的是OSX / iOS上已有的libxml2版本。您无需下载libxml2即可使其正常工作。
如果您安装命令行开发人员工具,页面上提到的/usr/include/libxml2
位置也适用于您 - 在终端提示符下执行xcode-select --install
。