C++ 静态库c++;使用XCode

C++ 静态库c++;使用XCode,c++,ios,xcode,static-libraries,C++,Ios,Xcode,Static Libraries,我正在尝试在xcode中创建一组文件.cpp和.hpp的库 所有文件都在模拟器和设备中正确运行,无需库 我已经创建了这个库,并在模拟器(架构x86)中运行了它,运行得非常好 当我尝试使用设备中的库运行应用程序时,我收到一个错误,好像我忘记了任何文件: Undefined symbols for architecture armv7: "ssm::partialSortGreater(int, std::__1::vector<float, std::__1::allocator<fl

我正在尝试在xcode中创建一组文件.cpp和.hpp的库

所有文件都在模拟器和设备中正确运行,无需库

我已经创建了这个库,并在模拟器(架构x86)中运行了它,运行得非常好

当我尝试使用设备中的库运行应用程序时,我收到一个错误,好像我忘记了任何文件:

Undefined symbols for architecture armv7:
"ssm::partialSortGreater(int, std::__1::vector<float, std::__1::allocator<float> > const&, std::__1::vector<int, std::__1::allocator<int> >&)", referenced from:
架构armv7的未定义符号: “ssm::partialSortGreater(int,std::uu 1::vector const&,std::uu 1::vector&)”,引用自: 但它在模拟器中运行时使用的是相同的文件,它是精神上的:s

谢谢:)

更新:

构建设置: 图书馆和应用程序

更新2:


此外,如果我存档应用程序,并用iTunes安装它,效果会很好!!!在设备中:这很奇怪

在这种情况下需要检查的几件事:

确保库未设置为“仅构建活动体系结构”,并确保已将ARMv7设置为有效的体系结构

另外,确保主项目在构建阶段的目标依赖项下列出了您的库,并将二进制文件链接到库中


如果您的库未构建正确的体系结构,或者如果您的主项目不依赖于它的更改,并且当前未链接到静态库,则您的主项目将不知道静态库存在。

显示该库的构建设置以及链接到该库的应用程序;特别是特定于体系结构的条目。Updated@Till.ThanksI应该将Build active architecture only设置为NO,就在库中,不是吗?其余的建议都被检查了,奇怪的是,它们都应该是否,但静态库将是导致此问题的原因。如果我在应用程序中设置否,则POD会出错。我想,我应该在应用程序中留下“是”。此外,如果我存档应用程序,并用iTunes安装它,效果会很好!!!在设备中:这很奇怪。谢谢你的回答