2014-01-23 228 views
0

我想创建一组文件.cpp和.hpp在xcode中。静态库C++与XCode

所有文件都在模拟器和没有库的设备中运行。

我创建了库,我已经在模拟器(体系结构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: 

但它在与同一文件的模拟器中运行,它的精神:小号

谢谢:)

更新:

BuildSettings: 库和App Library

enter image description here

更新2:

而且如果我归档应用程序和我一起iTunnes安装,工程!在设备:S非常怪异

+0

向我们展示该库及其链接的应用程序的构建设置;特别是架构特定条目。 – Till

+0

已更新@Till。谢谢 – xarly

回答

0

有几件事情在这种情况下,检查:

确保库未设置为“仅建立积极的架构”,并确保它的ARMv7设置为一个有效的体系结构。

此外,请确保主项目的“库”列在“目标依赖项”下的“生成”阶段和“链接二进制库”下。

如果您的库没有构建适当的架构,或者如果您的主项目不依赖于它的更改并且当前没有与静态库链接,那么主项目将不知道存在静态库。

+0

我应该设置将活动架构仅设置为NO,就在图书馆中,不是吗?其余的建议被检查,这很奇怪 – xarly

+0

他们都应该是没有,但静态库将是会导致这个问题的。 – Putz1103

+0

如果我在应用程序中设置NO,那么我得到错误与豆荚。我想,我应该在应用程序中保留YES。此外,如果我存档的应用程序,我安装iTunnes,作品!在设备中:S很奇怪。感谢您的回答 – xarly