2016-04-01 15 views
-2

iOS/Android oyunumda (cocos2d-x oyun motoru) boost :: serialization kullanmak istiyorum. Ben esas olarak Xcode ile çalışıyorum ve Android için bir script ile derledim.C++ Boost - iOS ve Android'de kullanım için nasıl kurulur

Sadece tüm destek klasörünü (tüm üstbilgileri) Xcode projeme dahil etmeye çalıştım ve çok kolay bir serileştirme örneği çalıştırdım. Bu, bağlayıcı hatalarıyla sonuçlandıysa da, bağlayıcı belirli şeyleri bulamadığı halde:

> Undefined symbols for architecture x86_64: 
> "boost::archive::archive_exception::archive_exception(boost::archive::archive_exception::exception_code, 
> char const*, char const*)", referenced from: 
>  void boost::archive::basic_text_oprimitive<std::__1::basic_ostream<char, 
> std::__1::char_traits<char> > >::save_impl<unsigned int>(unsigned int 
> const&, mpl_::bool_<false>&) in Test.o 
>  void boost::archive::basic_text_oprimitive<std::__1::basic_ostream<char, 
> std::__1::char_traits<char> > 
> >::save_impl<boost::archive::object_id_type>(boost::archive::object_id_type 
> const&, mpl_::bool_<false>&) in Test.o 
>  void boost::archive::basic_text_oprimitive<std::__1::basic_ostream<char, 
> std::__1::char_traits<char> > 
> >::save_impl<boost::archive::object_reference_type>(boost::archive::object_reference_type 
> const&, mpl_::bool_<false>&) in Test.o 
>  void boost::archive::basic_text_oprimitive<std::__1::basic_ostream<char, 
> std::__1::char_traits<char> > 
> >::save_impl<boost::archive::class_id_type>(boost::archive::class_id_type 
> const&, mpl_::bool_<false>&) in Test.o 
>  void boost::archive::basic_text_oprimitive<std::__1::basic_ostream<char, 
> std::__1::char_traits<char> > 
> >::save_impl<boost::archive::class_id_reference_type> 

vb.

Xcode dil lehçesi C++11 [-std=c++11]

ayarlandığında sadece kaynağından boost gereken parçaları oluşturmak mümkün mü? Bunun en küçük ikili boyutta ve en az güçlükle sonuçlanacağına inandım, ama maalesef bile derleme değil.

Uygulamamız için, destek kütüphanesi de dahil olmak üzere ikili boyutumuzu çok fazla arttırmamak çok önemlidir.

Güçlendirme yapmak için ne yapmalıyım?

+0

artırmak seri kullanmak, her hedef ve mimari için boost kütüphaneleri oluşturmak gerekir ve daha sonra kendilerine karşı bağlayın. Google'da "ios for build for ios" araması yapın. iyi şanslar. –

+0

Sadece başlık içermesi mümkün değil mi? – keyboard

+0

, destek seri hale getirme belgelerine bakın. Bir kütüphane oluşturmaktan ziyade cpp dosyalarının kaynağınıza doğrudan eklenmesini destekleyebilir. –

cevap

1

Hem cocos2d-x için hem de iOS ve android için oldukça iyi çalışmasını destekledim.

~ cocos2d-: ikili boyutunu artırmadan ve çok uğraşmadan bunu yapmak için kolay yolu aşağıdaki yolun içinde bütün boost klasörü (tüm .hpp dosyalarını sahip olanı, alt klasörler) koymaktır x-proje-yolu/Cocos2d/cocos/boost

Şimdi böyle Xcode boost yolunu içermelidir: Goto

Projesi ayarları-> Ayarlar- kurmak> yolları- ara > Üstbilgi Arama Yolları

ve yolu ekleyin: $(SRCROOT)/../cocos2d/cocos/boost aşağıdaki resimdeki gibi:

enter image description here

+0

Çalıştığım gibi, denediğim şey bu. Ben boost :: serialization gibi şeyler kullanmak istiyorum ve sadece başlıkları ile çalışmaz gibi görünüyor. Bunu kullanarak başarılı oldun mu? – keyboard

İlgili konular