2014-01-23 223 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