Building ICU 32/64 on Windows: Difference between revisions
No edit summary |
No edit summary |
||
Line 32: | Line 32: | ||
cd \icu4c-4_6_1-src\icu\source | cd \icu4c-4_6_1-src\icu\source | ||
setenv /release | setenv /x64 /release | ||
cd common | cd common | ||
Line 58: | Line 58: | ||
cd \icu4c-4_6_1-src\icu\source | cd \icu4c-4_6_1-src\icu\source | ||
setenv /debug | setenv /x64 /debug | ||
rem vsvars32 MUST be after setenv | rem vsvars32 MUST be after setenv | ||
Line 84: | Line 84: | ||
cd \icu4c-4_6_1-src\icu\source | cd \icu4c-4_6_1-src\icu\source | ||
setenv /release | setenv /x86 /release | ||
cd common | cd common | ||
Line 105: | Line 105: | ||
cd \icu4c-4_6_1-src\icu\source | cd \icu4c-4_6_1-src\icu\source | ||
setenv /debug | setenv /x86 /debug | ||
rem must be AFTER setenv | rem must be AFTER setenv |
Revision as of 01:15, 16 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
The release configuration of ICU can be built with SDK only. Visual Studio is only needed to create debug versions. Visual Studio Express is sufficient and it can be run in command mode.
Specimen Build Platform/Environment
- windows server 2008 R2 SP1 64
- install sdk7.1 minimally
- install visual studio c++ 2010 express
VS is needed for building debug versions even while doing command line build. It might even be needed for building release versions if the projects arent setup quite right for msbuild+sdk only. Presence of VS doesnt mean that we are going to use GUI
Get ICU Source
Download
http://download.icu-project.org/files/icu4c/4.6.1/icu4c-4_6_1-src.zip
"extract all" to
f:\icu4c-4_6_1-src
Building x64
x64/Release
rem >>>Windows SDK 7.1 Command Prompt f: cd \icu4c-4_6_1-src\icu\source setenv /x64 /release cd common msbuild /p:Platform=x64 /p:Configuration=Release cd .. cd i18n msbuild /p:Platform=x64 /p:Configuration=Release cd .. dir ..\lib64\*.lib rem should find lib64 folder has 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)
NOTE: To produce the DEBUG version of the libraries, you need Visual Studio's bscmake on the path - vsvars32 does that.
rem >>>Windows SDK 7.1 Command Prompt f: cd \icu4c-4_6_1-src\icu\source setenv /x64 /debug rem vsvars32 MUST be after setenv vsvars32 x64 cd common msbuild /p:Platform=x64 /p:Configuration=Debug cd .. cd i18n msbuild /p:Platform=x64 /p:Configuration=Debug cd .. dir ..\lib64\*d.lib rem should find lib64 folder has icuucd.lib and icuind.lib
Building Win32 (x86) Release and Debug
x86/Release
rem >>>Windows SDK 7.1 Command Prompt f: cd \icu4c-4_6_1-src\icu\source setenv /x86 /release cd common msbuild /p:Platform=win32 /p:Configuration=Release cd .. cd i18n msbuild /p:Platform=win32 /p:Configuration=Release cd .. dir ..\lib\*.lib rem should find lib folder has icudt.lib, icuuc.lib and icuin.lib
x86/Debug
rem >>>Windows SDK 7.1 Command Prompt f: cd \icu4c-4_6_1-src\icu\source setenv /x86 /debug rem must be AFTER setenv vsvars32 x86 cd common msbuild /p:Platform=win32 /p:Configuration=Debug cd .. cd i18n msbuild /p:Platform=win32 /p:Configuration=Debug cd .. dir ..\lib\*d.lib rem should find lib folder has icuucd.lib and icuind.lib