için Compile Boost 1.47 Aslında, Windows CE için Boost kitaplıklarını oluşturmaya çalışan insanlar hakkında biraz bilgi var, ancak hiç kimse başarı bildirmedi ya da bunu yapmak için gerekli adımları attı. En son iki sürümle (1.46 ve 1.47), sürüm notları, test derleyicilerinden birinin "Visual C++, Windows Mobile 5, STLport: 9.0" olduğunu belirtti ve bu da başarının başarıldığını gösteriyor (yan not olarak). verilen derleyici, indirdiğim en son STLPort 5.2.1 'dir.Windows CE
Bulunan yayınlar, burada bulunan dosyanın etrafında dönüyor gibi görünüyor: http://www.boost.org/development/tests/trunk/VeecoFTC.html. Mesele şu ki, onu nasıl kullanacağımı bilmiyorum. Windows CE için STLPort oluşturabiliyordum, ancak Boost Başlangıç Kılavuzu'nu (http://www.boost.org/doc/libs/1_47_0/more/getting_started/windows.html) takip ederek Boost. Bu noktada CE için derleme yapmam gerekiyor mu? Sadece hangi adımları atmam gerektiğini bilmiyorum ve bazı rehberliği takdir ediyorum.
Bunlar
şimdiye kadar takip ettim adımlar şunlardır:- Windows CE için Derleme STLPort (dokümantasyon bu çok zor ispat etmedi, oldukça iyi idi).
- Başlarken Kılavuzuna göre Boost. Bootstrap.bat dosyasının "ntx86" ve "ntx86_64" gibi görünmesi nedeniyle bu adımda biraz titrek davranıyorum. Zaten batırdım mı? Ben doğru şeyleri yaptım varsayarak Bu noktada
, benim build dizini ben Boost.Build için kullanılan önek olduğunu varsayalım
b2 --build-dir=build-directory toolset=toolset-name --build-type=complete stage
gibi bir şeyle b2 çalıştırmak gerekir inşa tür ve sahne verilen şekilde kalır, ancak hangi araç seti adını kullanacağımı bilmiyorum. VeecoFTC dosyasının msvc ve stlport için birden çok girişi vardır. Ben "WM5" ile ilgili YAPMADIĞIMIZ iki kaldırılmış girişler ama şu komutla derleme yaparken
b2 --build-dir=C:\boost-build toolset=msvc --build-type=complete stage
ben gibi hataların bir demet olsun:
compile-c-c++ C:\boost-build\boost\bin.v2\libs\regex\build\msvc-9.0~wm5~stlport5.2\debug\threading-multi\has_icu_test.obj
The system cannot find the path specified.
Nitekim, bu dosya yok yok, ancak has_icu_test.obj.rsp var. Bir şey mi eksik? Doğru yolda bile miyim?
GÜNCELLEME:
ben alamıyorum yana Boost.Build çalışmak ve Boost.Build posta listesinde hiç sevgi alıyorum, ben CKağıt Boost için sistem inşa çalışırken geçti ettik: http://gitorious.org/boost/cmake. Ben CEgcc ile birlikte bu kullanıyorum (Ben daha tanıdık Windows daha Linux ile kulüpler) ve ben aşağıdaki hata çalıştırıyorum:
boost/config/requires_threads.hpp:47:5: error: #error "Compiler threading support is not turned on. Please set the correct command line options for threading: -pthread (Linux), -pthreads (Solaris) or -mthreads (Mingw32)"
-mthreads C parçasıdır ve cxx flags-- Sorun şu ki, BOOST_PLATFORM_CONFIG, boost/config/select_platform_config.hpp tarafından tanımlanmamıştır. Bu, Windows CE için ne tanımlanmalıdır? Boost/config/platform/win32.hpp (daha sonra yukarıdaki hatayı çözecek olan BOOST_HAS_WINTHREADS öğesini tanımlar) gerektiğini düşündüm. Sürüm notları, select_platform_config.hpp Windows CE vakalarını ele almıyorken bu durumun nasıl çalıştığını nasıl iddia edebilir? Eğer BOOST_PLATFORM_CONFIG gerçekten de destek/config/platform/win32.hpp olması gerekiyorsa, o zaman ya _WIN32, WIN32 veya WIN32 tanımlamalıyım. İlk tepkim, bunların hiçbirinin CE için derlenmemesi gerektiğidir. Ayrıca, VeecoFTC dosyası bunlardan hiçbirini içermez. O nasıl çalışır?
Gerçekten derleme gerektiren herhangi bir Boost kütüphanesi kullanıyor musunuz? Boost'ta binaya ihtiyaç duymayan pek çok kullanışlı kütüphane var. – Daemin
Doğru, hangi destek parçalarını kullanıyorsunuz? Kişisel olarak sadece STATIC_ASSERT ve boost :: mpl gibi standart özellikler için boost başlık dosyalarını kullanıyorum ve bu şeyler WinCE/VC++ 'da iyi çalışıyor. Boost, devasa bir kütüphane koleksiyonudur; Elbette, hepsini başarıyla derlemenize gerek yoktur. – Qwertie
"Visual C++, Windows Mobile 5, STLport: 9.0" ile ilgili olarak, bu, WM5 için STLport çapraz derlemesiyle birlikte, VC++ 9'dur. Evet, bu şekilde komik görünüyor. –