|
Boost-Build : |
Subject: [Boost-build] Build environment for building boost libraries for WindowsME 6
From: Benjamin Fabricius (benjamin.fabricius.leica_at_[hidden])
Date: 2012-08-14 06:32:41
Hello,
I had difficulties building some boost libraries (system, thread,
date_time, regex) I use in an API project for devices running Windows
Mobile 6 / Windows CE. As I found close to no information on how to get the
libs built for this platform and I struggled for a couple days to get this
working, I would like to share my build environment as a reference for
people with similar problems.
Kudos go to David Deakins who had posted a build environment from which I
got an initial idea of how to set up my environment (here
http://www.boost.org/development/tests/trunk/VeecoFTC.html).
Below I have included my *user-config.jam *and my environment setup batch
file* cesetup.bat*. I also enclosed a bit of info on host and target
systems used and the call i used to b2.exe.
*Build Info:*
- Host OS: Windows 7 SP1 (32-bit)
- Target OS: Windows Mobile Professional 6.1
- Target CPU: Marvell PXA310 806MHz (ARMv5 XScale arch)
- Toolset: msvc-9.0~wm6 using stdlib stlport-5.2.1~wm6 for arm
- SW Versions used:
- Boost v1.4.7
- STLPort 5.2.1
- Windows Mobile 6 SDK (for ARMv4I)
*user-config.jam:*
using msvc : 9.0~wm6 :
"cl.exe" :
<compileflags>-D_CRT_SECURE_NO_WARNINGS
<compileflags>-D_STLP_USE_WINCE_CRT_FUNCTIONS
<compileflags>-DUNDER_CE
<compileflags>-DWINCE
<compileflags>-D_WINDOWS
<compileflags>-DUNICODE
<compileflags>-D_UNICODE
<compileflags>-D_WIN32
<compileflags>-DWIN32_PLATFROM_PSPC
<compileflags>-DARMV4I
<compileflags>-D_ARMV4I_
<compileflags>-Darmv4i
<compileflags>-D_ARM_
<compileflags>-DARM
<compileflags>-D__arm__
<compileflags>-DQ_OS_WINCE_WM
<compileflags>-D_WIN32_WCE=0x502
<compileflags>-Zm200
<compileflags>-w34100
<compileflags>-w34189
<cxxflags>/QRarch4
<cxxflags>/GL
<linkflags>/INCREMENTAL:NO
<linkflags>/NOLOGO
<linkflags>/MANIFEST:NO
<linkflags>/NODEFAULTLIB:"OLDNAMES.LIB"
<linkflags>/DELAY:UNLOAD
<linkflags>/SUBSYSTEM:WINDOWSCE,5.02
<linkflags>/MACHINE:THUMB
<linkflags>/ENTRY:mainACRTStartup
<linkflags>/STACK:262144,4096
<linkflags>coredll.lib
<linkflags>corelibc.lib
<linkflags>ole32.lib
<linkflags>oleaut32.lib
<linkflags>uuid.lib
<linkflags>commctrl.lib
<architecture>arm
<interface>wince
<setup>"C:/some/path/here/cesetup.bat"
;
using stlport : 5.2.1~wm6 :
C:/some/path/here/stlport_5_2_1/stlport :
C:/some/path/here/stlport_5_2_1/lib/evc9-wm6
;
*Environment setup cesetup.sh:*
*
*
@echo off
echo Environment Selection:Windows Mobile 6 Professional SDK (ARMV4I)
set PATH=C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\bin\x86_arm;C:\Program Files\Microsoft Visual Studio
9.0\VC\bin;$(WindowsSdkDir)\bin;\Common7\Tools;\Common7\IDE;\Common\Tools;\Common\IDE;\;$(FrameworkSDKDir)Bin;%PATH%
set INCLUDE=C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\include;C:\Program Files\Windows Mobile 6
SDK\PocketPC\include\ARMV4I;C:\Program Files\Windows Mobile 6
SDK\PocketPC\include;C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\atlmfc\include;\SmartDevices\SDK\SQL Server\Mobile\v3.0
set LIB=C:\Program Files\Windows Mobile 6
SDK\PocketPC\lib\ARMV4I;C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\atlmfc\lib\ARMV4I;C:\Program Files\Microsoft Visual Studio
9.0\VC\ce\lib\ARMV4I
*Command line:*
*
*
C:\some\path\boost_1_47_0>
b2 --debug--configuration --debug-building -d+2 \
variant=release toolset=msvc-9.0~wm6 \
stdlib=stlport-5.2.1~wm6
--with-system \
--with-thread \
--with-date_time \
--with-regex \
stage
Hope this can help some people out there.
Greets,
Benjamin
Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk