Building ICU 32/64 on Windows: Difference between revisions

From NEOSYS Dev Wiki
Jump to navigationJump to search
(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 x64 common and i18n projects for Boost ==
== 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 Version ===
=== 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


=== Building Debug Version ===
==== 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!