Compiling-ICU-with-MSVC: Difference between revisions

From Qt Wiki
Jump to navigation Jump to search
No edit summary
 
No edit summary
Line 15: Line 15:
* <span class="caps">MSVC</span> toolchain
* <span class="caps">MSVC</span> toolchain
* [http://www.cygwin.com/install.html Cygwin] ''[cygwin.com]''
* [http://www.cygwin.com/install.html Cygwin] ''[cygwin.com]''
Note: When installing Cygwin and selecting packages, make sure you search for and select ‘make’, ‘dos2unix’ and ‘binutils’.


===How to build===
===How to build===


* Download latest ICU4C source code from http://site.icu-project.org/download (e.g.icu4c-53_1-src.zip), unzip
* Download latest ICU4C source code from http://site.icu-project.org/download (e.g.icu4c-53_1-src.zip), unzip.
* Make sure you’ve e.g. ‘make’ installed for Cygwin
* If you don’t require the full <span class="caps">ICU</span> data library (i.e. you want to end up with a smaller icudt .dll for deployment), use the <span class="caps">ICU</span> data library customizer here: http://apps.icu-project.org/datacustom/ICUData53.html (select the version and options you need).
* Start cmd.exe and put Cygwin in <span class="caps">PATH</span>, convert line endings<br />
* Start cmd.exe and put Cygwin in <span class="caps">PATH</span>, convert line endings<br />



Revision as of 07:16, 10 February 2015

Compiling ICU with MSVC (Microsoft Visual Studio)

Qt 5 / QtWebkit requires ICU.

Pre-built packages

The ICU Project site [site.icu-project.org] provides pre-built packages for MSVC 2010, which should work with compilers too. Anyhow, you have to compile your own version if you want to avoid the MSVC 2010 runtime dependency (because you’re using another MSVC version), or want to tailor the ICU configuration.

download.qt.io [download.qt.io] also hosts packages for MSVC 2010, 2012 and 2013.

Compiling on your own

Requirements

  • MSVC toolchain
  • Cygwin [cygwin.com]

Note: When installing Cygwin and selecting packages, make sure you search for and select ‘make’, ‘dos2unix’ and ‘binutils’.

How to build

Check whether you have e.g. the MSVC compiler (cl.exe) in PATH. If not, set it up by calling e.g.

Run configure && build:

This will generate a release shared build that you can use in both a debug and release build of Qt.

To link ICU statically (e.g. for a static release build of Qt), you have to append ‘—enable-static —disable-shared’ :

To link ICU statically and build it in debug mode (e.g. for a static debug build of Qt), you have to prepend ‘—enable-debug —disable-release’ to the arguments:

Finally, run make && make install

Usage

Add the include, lib folders to your compilation environment, e.g. for cmd.exe :

When you now run Qt’s configure.exe ICU should be detected, and Qt links against the libraries.

Categories: