C ++ - 从G ++切换到Xcode(和clang)

时间:2013-12-28 05:20:56

标签: c++ ios xcode clang

我正在尝试将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,因此标题理论上应该是可用。

然而,当我去编辑这种可憎的事情时,我得到了这些错误:

enter image description here

有人可以帮助我理解这些吗?

编辑:我已经广泛搜索了互联网,但无济于事。

1 个答案:

答案 0 :(得分:1)

您需要从库搜索路径中删除 /usr/include。默认情况下它已经被包含在内,并且尝试再次添加它可以使它最终覆盖编译器提供的一些头文件,结果很不幸。


The link errors you got when you did this看起来似乎没有在链接时使用gloox库,因此现在失败了。 这是进步! - 如果你进入链接阶段,编译现在就可以了。

转到项目设置(单击左栏顶部的项目名称),转到"构建阶段"选项卡,打开" Link Binary With Libraries"阶段,然后单击+按钮。然后找到libgloox.dylib(可能在/usr/local/lib中)并添加它。