如何将C++静态库与依赖于标准库的XCode链接起来?

问题描述:

我已经交叉编译了iOS SDK 6.0的exiv2库。如何将C++静态库与依赖于标准库的XCode链接起来?

我确认使用lipo -i确实i386(模拟器)和arm7代码存在于库中。

exiv2的头文件(.hpp)使用std。 XCode无法找到C++标准库。

这里是我的设置:

我有一个目标的iOS SDK 6.0一个XCode项目。

它里面有一个名为exiv2的文件夹,它包含一个头文件和lib文件夹。 exiv2头文件和.a库位于这些文件夹中。

当我编译,我得到一个错误,在(一个给定的文件)

#include <string>:没有这样的文件或目录

如何在XCode中这样的设置下的C++的std链接任何想法?

非常感谢。

+0

“version.hpp”不是C++标准库的一部分。 – 2013-03-26 10:56:48

+0

编辑的问题请再看看。 – rudeboy 2013-03-26 11:02:44

+0

好的,''是C++标准库的一部分。 ''我不知道如何从XCode设置C++的细节;它总是为我工作。 – 2013-03-26 11:05:31

您可以转到项目设置,选择“Build Phases”,然后选择“Link Binary with Libraries”。 对于标准C++库,您可以添加(+)“libC++。tbd”或“libstdC++。tbd”