我正在尝试将sample program用于gloox
库(C ++的XMPP客户端库),我最终会将其集成到iOS应用程序中。实现这一目标的一个明显(但令人沮丧的困难)步骤是在Xcode中使用C ++代码(通常使用clang编译器)。
我是如何使用G++
编译的:
g++ -o bot bot.cpp -lgloox -lpthread
我在Xcode
尝试了什么:
在我的目标下构建设置:
Other C++ Flags
并添加了-lpthread
和-lgloox
,所以理论上所需的库是相互关联的。Header Search Paths
并添加/usr/include
和/usr/local/include
,两者都设置为recursive.
gloox标题位于/usr/local/include
,因此标题理论上应该是可用。然而,当我去编辑这种可憎的事情时,我得到了这些错误:
有人可以帮助我理解这些吗?
编辑:我已经广泛搜索了互联网,但无济于事。
答案 0 :(得分:1)
您需要从库搜索路径中删除 /usr/include
。默认情况下它已经被包含在内,并且尝试再次添加它可以使它最终覆盖编译器提供的一些头文件,结果很不幸。
The link errors you got when you did this看起来似乎没有在链接时使用gloox库,因此现在失败了。 这是进步! - 如果你进入链接阶段,编译现在就可以了。
转到项目设置(单击左栏顶部的项目名称),转到"构建阶段"选项卡,打开" Link Binary With Libraries"阶段,然后单击+按钮。然后找到libgloox.dylib
(可能在/usr/local/lib
中)并添加它。