2009-07-07 19 views
7

Açık bir şekilde OpenCV kitaplığına dayanan bir iPhone uygulamasına sahibim; bu nedenle, uygulamamın eklenmesi için bu kütüphanenin statik bir sürümünü derledim. Bunu yapmak için yönergeler nispeten basittir: Using OpenCV on iPhone. Ben koştum sadece gotcha bağlayıcı bayrak, STANDARD_C_PLUS_PLUS_LIBRARY_TYPE "standard" olarak ayarlayarak oldu. App derlenmiş ve OS 2.0 ve 2.2 altında mükemmel koştu.iPhone SDK 3.0 Statik Kitaplıklarını Bağlama

SDK 3.0 sürümüne yükselttikten ve uygulamamı yeniden derlemeye çalıştığımda, bu bağlantı bayrağı ile ilgili bir sorunla karşılaşıyorum.

ld: bağlama ederken bu hatayı alıyorum kütüphane ++ -lstdc için bulunamadı - statik sistemimde, üzerinde "libstdC++ - statik" diye Ayrıca ilginç

görünüşte her iPhone OS ve iPhoneSimulator altında bulunur IPhoneOS.platform/SDKs/iPhoneOS3.0.sk hariç SDK. Oldukça şaşırmış ve Google ya da iPhone dev forumlar herhangi bir cevap bulmak mümkün olmamıştır

$ locate libstdc++-static 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.0.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS2.2.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.0.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.1.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator2.2.sdk/usr/lib/libstdc++-static.a 
/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk/usr/lib/libstdc++-static.a 
/Developer/SDKs/MacOSX10.4u.sdk/usr/lib/libstdc++-static.a 
/Developer/SDKs/MacOSX10.5.sdk/usr/lib/libstdc++-static.a 
/usr/lib/libstdc++-static.a 

: Burada arama sonuçlarıdır. Birisi burada biraz ışık tutabilirse çok memnun olurum.

Teşekkürler!

+0

Hangi sürümde libstdC++ işletim sistemi 3.x? –

cevap

1

Sadece bir tahminde bulunun - Build Properties'deki 'Library Search Paths' dizinine dizinlerden birini eklemeyi deneyin.

+0

Bu işe yaradı! Teşekkürler! Dosyayı daha eski bir SDK'dan kopyalamaya çalışıyordum, ancak bu çalışma değildi (bu dizini yeniden taramak için ldconfig'ın eşdeğerini yapmam gerekip gerekmediğinden emin değilim, bunun yerine yeniden başlatmak üzereydim) – pix0r

+0

harika! Önce LD_LIBRARY_PATH hakkında düşünmeye başladım, sonra muhtemelen bu özelliklerin içinde olduğunu düşündüm. – John

0

Bu gerçekten şaşırtıcı, sadece aklıma gelen bir şey /Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator3.0.sdk kütüphane arama yolunda değil, ama bu çok olası olurdu.

+0

Simülatör değil iPhoneOS'u derlemeye çalışıyordum. Her ikisi için de çalışması gerekiyor. – pix0r

+0

Haklısın, bu sadece benim için kaybolan bir geçmişti, o zaman iphone için kütüphane nerede? Listenizde görünmüyor .... – hhafez

+0

Doğru, sorun buydu;) Apple, SDK 3.0'da çıkmış gibi görünüyor - muhtemelen sadece bir hata. Kütüphanenin 2.2 sürümü 3.0'da gayet iyi çalışıyor. – pix0r

İlgili konular