Building ICU 32/64 on Windows: Difference between revisions
(Created page with '== Building ICU x64 common and i18n projects for Boost == You do not need to build the whole of ICU just to get icudt.lib, icuuc.lib and icuin.lib required by boost regex for un…') |
No edit summary |
||
Line 1: | Line 1: | ||
== Building ICU | == Building ICU common and i18n projects for Boost == | ||
You do not need to build the whole of ICU just to get icudt.lib, icuuc.lib and icuin.lib required by boost regex for unicode aware regex | You do not need to build the whole of ICU just to get icudt.lib, icuuc.lib and icuin.lib required by boost regex for unicode aware regex | ||
Line 22: | Line 22: | ||
cd \icu4c-4_6_1-src\icu\source | cd \icu4c-4_6_1-src\icu\source | ||
=== Building Release | === Building x64 === | ||
==== x64/Release ==== | |||
<pre> | <pre> | ||
Line 38: | Line 40: | ||
Check the lib64 folder for icudt.lib, icuuc.lib and icuin.lib | Check the lib64 folder for icudt.lib, icuuc.lib and icuin.lib | ||
=== | ==== x64/Debug ==== | ||
Producing the proper debug versions of icu may not be necessary if your objective is only to produce release versions of the boost libraries (and you use the work-around to avoid the need for icu debug libraries) | Producing the proper debug versions of icu may not be necessary if your objective is only to produce release versions of the boost libraries (and you use the work-around to avoid the need for icu debug libraries) | ||
Line 59: | Line 61: | ||
Check the lib64 folder for icuucd.lib and icuind.lib | Check the lib64 folder for icuucd.lib and icuind.lib | ||
=== Building x86 Debug and Release === | |||
<pre> | |||
f: | |||
cd \icu4c-4_6_1-src\icu\source | |||
setenv /release /x86 | |||
cd common | |||
msbuild /p:Platform=win32 /p:Configuration=Release | |||
cd .. | |||
cd i18n | |||
msbuild /p:Platform=win32 /p:Configuration=Release | |||
cd .. | |||
@if not exist ..\lib\icudt.lib @echo ..\lib\icudt.lib not built! | |||
@if not exist ..\lib\icuin.lib @echo ..\lib\icuin.lib not built! | |||
@if not exist ..\lib\icuuc.lib @echo ..\lib\icuuc.lib not built! | |||
setenv /debug /x86 | |||
vsvars32 x86 | |||
cd common | |||
msbuild /p:Platform=win32 /p:Configuration=Debug | |||
cd .. | |||
cd i18n | |||
msbuild /p:Platform=win32 /p:Configuration=Debug | |||
cd .. | |||
@if not exist ..\lib\icuind.lib @echo ..\lib\icuind.lib not built! | |||
@if not exist ..\lib\icuucd.lib @echo ..\lib\icuucd.lib not built! | |||
</pre> |
Revision as of 04:04, 15 May 2011
Building ICU common and i18n projects for Boost
You do not need to build the whole of ICU just to get icudt.lib, icuuc.lib and icuin.lib required by boost regex for unicode aware regex
The "common" project makes icudt.lib icuuc.lib and the "i18n" project makes icuin.lib
Specimen Build Platform/Environment
- windows server 2008 R2 SP1 64
- install sdk7.1 minimally
- install visual studio c++ 2010 express (if building debug versions)
Get ICU Source
extract all to f:\icu4c-4_6_1-src
http://download.icu-project.org/files/icu4c/4.6.1/icu4c-4_6_1-src.zip
open sdk7.1 command prompt and get into icu source folder
f: cd \icu4c-4_6_1-src\icu\source
Building x64
x64/Release
setenv /release cd common msbuild /p:Platform=x64 /p:Configuration=Release cd .. cd i18n msbuild /p:Platform=x64 /p:Configuration=Release cd ..
Check the lib64 folder for icudt.lib, icuuc.lib and icuin.lib
x64/Debug
Producing the proper debug versions of icu may not be necessary if your objective is only to produce release versions of the boost libraries (and you use the work-around to avoid the need for icu debug libraries)
setenv /debug
NOTE: To produce the DEBUG version of the libraries, you need Visual Studio's bscmake on the path. This must be done after setenv.
vsvars32 x64 cd common msbuild /p:Platform=x64 /p:Configuration=Debug cd .. cd i18n msbuild /p:Platform=x64 /p:Configuration=Debug cd ..
Check the lib64 folder for icuucd.lib and icuind.lib
Building x86 Debug and Release
f: cd \icu4c-4_6_1-src\icu\source setenv /release /x86 cd common msbuild /p:Platform=win32 /p:Configuration=Release cd .. cd i18n msbuild /p:Platform=win32 /p:Configuration=Release cd .. @if not exist ..\lib\icudt.lib @echo ..\lib\icudt.lib not built! @if not exist ..\lib\icuin.lib @echo ..\lib\icuin.lib not built! @if not exist ..\lib\icuuc.lib @echo ..\lib\icuuc.lib not built! setenv /debug /x86 vsvars32 x86 cd common msbuild /p:Platform=win32 /p:Configuration=Debug cd .. cd i18n msbuild /p:Platform=win32 /p:Configuration=Debug cd .. @if not exist ..\lib\icuind.lib @echo ..\lib\icuind.lib not built! @if not exist ..\lib\icuucd.lib @echo ..\lib\icuucd.lib not built!