Я успешно создал STLPort и Boost C++ для Windows CE 6.0. Я могу запустить приложение с Windows CE 6 и STLPort как в режиме отладки в конце. Boost C++ и Windows CE 6.0
Я построил подталкивание со следующим пакетным файлом:
@echo off
cls
:build
:release
echo building boost in release shared library
bjam^
--with-system^
--with-chrono^
--with-date_time^
--with-thread^
--with-atomic^
toolset=msvc-9.0~CEPlatform^
variant=release^
threading=multi^
stdlib=stlport-5.2.1^
link=shared^
runtime-link=shared
:debug
echo building boost in debug shared library
bjam^
--with-system^
--with-chrono^
--with-date_time^
--with-thread^
--with-atomic^
toolset=msvc-9.0~CEPlatform^
define=_STLP_DEBUG=1^
variant=debug^
threading=multi^
stdlib=stlport-5.2.1^
link=shared^
runtime-link=shared
goto exit
:exit
pause
Я изменял пользовательский config.jam Accordin по этой ссылке: [http://stackoverflow.com/questions/ 15906901/наращивание наддува с-вздрогнуть/15939679 # 15939679] [1]
Я могу запустить приложение с повышением в режиме выпуска с некоторым вопросом:
повышающего :: this_thread :: sleep_for (повышение :: хроно :: секунд (1));приведет к сбою приложения в режиме деблокирования: я не могу использовать приложение, если предыдущая статута отсутствует. Кажется, что некоторая зависимость теряется. Я использовал Walker Dependency и все зависимости разрешены (COREDLL.DLL, STLPORT.5.2.DLL, BOOST_SYSTEM-VC90-MT-P-1_53.DLL, BOOST_THREAD-VC90-MT-P-1_53.DLL, BOOST_DATE_TIME-VC90- МТ-Р-1_53.DLL).
В режиме отладки все хуже: я не могу запустить приложение, если включить заголовок форсирования (boost/thread.hpp, boost/chorono.hpp). Похоже, что некоторые dll отсутствуют, но с зависимым ходоком все выглядит нормально. Отсутствует DLL ... Связанная DLL: COREDLL.DLL, STLPORTSTLD.5.2.DLL, BOOST_SYSTEM-VC90-MT-GDP-1_53.DLL, BOOST_THREAD-VC90-MT-GDP-1_53.DLL, BOOST_DATE_TIME-VC90- MT-GDP-1_53.DLL
Я что-то упустил. У кого-то есть идея?
this_thread :: sleep_for не работает по той же причине. Я увеличил с помощью --layout-system и добавил определение BOOST_AUTO_LINKAGE_NOMANGLE. Теперь у меня есть имя в boos_LIBRARY_NAME.dll. Большое спасибо!!! –
А, хорошо знать, что Boost поддерживает это, хотя и по-другому! –
Но будьте внимательны, потому что имя библиотеки отладки и выпуска одинаково, поэтому вам нужно построить режим отладки с помощью --stagedir =./Stage/debug и в релизе --stagedir/release –