2010-12-04 9 views
11

'da OpenCV artı başka bir C++ Kitaplığı kullanan bir iPhone uygulaması yapmaya çalışıyorum. İnce bir derleme ve bağlantı gibi görünüyor. Aslında çalışıyor. Ben bu çirkin uyarı kurtulmak istiyorum sadece mi:uyarı: XXXX'in YYYY'de farklı görünürlüğü (varsayılan) var ve (gizli) ZZZZ

ld: warning: std::vector<int, std::allocator<int> >::_M_insert_aux(__gnu_cxx::__normal_iterator<int*, std::vector<int, std::allocator<int> > >, int const&)has different visibility (default) in /Users/nacho4d/Documents/Projects/iOS/iAR/opencv_device/lib/libcxcore.a(cxdatastructs.o) and (hidden) in /Users/nacho4d/Documents/Projects/iOS/iAR/build/iAR.build/Debug-iphoneos/iAR.build/Objects-normal/armv6/combination.o 

?, ben nasıl çözebilir Ne anlama geliyor?

her durumda, bu, bahsettiğim kütüphaneden, birleşik sınıfın başlığıdır. peşin

Ignacio

+0

Bunun bir dupe olduğuna eminim. –

cevap

15

O libcxcore.a ve combination.o görünüyor içinde

//combination.h 
typedef std::vector<int> combi; 
typedef std::vector<combi> allcombi; 
class Combination 
{ 
public: 
    void Init(const int n, const int m); 
    allcombi::iterator begin(); 
    allcombi::iterator end(); 
    allcombi::const_iterator begin() const; 
    allcombi::const_iterator end() const; 
private: 
    void Nest(int nest, int column, int n1, int n2, int k[], allcombi &result); 
private: 
    allcombi m_data; 
}; 

sayesinde farklı sembol görünürlük seçenekleri ile derlenmektedir.

Sembol görünürlüğü hakkında bilgi edinin there.

Yani, 'u -fvisibility=default bayrağıyla derlemeniz gerekiyor. XCode kullanıyorsanız, "GCC - Kod Üretimi" bölümünde "Varsayılan Olarak Gizli Semboller" ayarını kontrol edin. Her iki proje için de kontrol edilmemelidir.

alt text

+0

#pragma GCC görünürlük push (varsayılan) sınıfı Kombinasyonu denedim ve uyarı gitmedi. Aynı zamanda Xcode'u da kontrol ettim ve "Defaults by Hidden" (Semboller Gizlidir) "işaretlenmemiş. Başka hangi seçeneklerim var? (Link için +1;)) – nacho4d

+1

Bekleyin !. Sadece varsayılan olarak Gizli Sembolleri kontrol etmeyi, derlemeyi ve işaretlemeyi denedim ve uyarı gitti! Çok teşekkürler;) – nacho4d

+0

Benim için çalıştı, bahşiş için teşekkürler! –

İlgili konular