icu/74.2

ICU is a mature, widely used set of C/C++ and Java libraries providing Unicode and Globalization support for software applications.
Recipe info
ICU
2024-02-02

Available packages
Linux
Windows
macOS
macOS Apple Silicon

Install
Add the following line to your conanfile.txt:
[requires]
icu/74.2

Using icu

Note

If you are a new Conan user, we recommend reading the how to consume packages tutorial.

If you need additional assistance, please ask a question in the Conan Center Index repository.

Simplest use case consuming this recipe and assuming CMake as your local build tool:

[requires]
icu/74.2
[generators]
CMakeDeps
CMakeToolchain
[layout]
cmake_layout
from conan import ConanFile
from conan.tools.cmake import cmake_layout


class ExampleRecipe(ConanFile):
    settings = "os", "compiler", "build_type", "arch"
    generators = "CMakeDeps", "CMakeToolchain"

    def requirements(self):
        self.requires("icu/74.2")

    def layout(self):
        cmake_layout(self)

Now, you can run this Conan command to locally install (and build if necessary) this recipe and its dependencies (if any):

$ conan install conanfile.txt --build=missing

Useful information to take into account to consume this library:


These are the main declared targets:

  • CMake package name(s): ICU
  • CMake target name(s): icu::icu
  • icu-io => ICU::io
    icu-tu => ICU::tu
    icu-uc => ICU::uc
    icu-data => ICU::data
    icu-i18n => ICU::i18n
    icu-test => ICU::test
    icu-data-alias => ICU::dt
    icu-i18n-alias => ICU::in
    
  • pkg-config file name(s): icu.pc
  • icu-io => icu-io.pc
    icu-tu => icu-icu-tu.pc
    icu-uc => icu-uc.pc
    icu-data => icu-icu-data.pc
    icu-i18n => icu-i18n.pc
    icu-test => icu-icu-test.pc
    icu-data-alias => icu-icu-data-alias.pc
    icu-i18n-alias => icu-icu-i18n-alias.pc
    

A simple use case using the CMake file name and the global target:

# ...
find_package(ICU REQUIRED)
# ...
target_link_libraries(YOUR_TARGET icu::icu)

These are all the available headers. Some of these ones might be non-public; make sure of it by visiting the icu homepage listed above:

#include "unicode/alphaindex.h"
#include "unicode/appendable.h"
#include "unicode/basictz.h"
#include "unicode/brkiter.h"
#include "unicode/bytestream.h"
#include "unicode/bytestrie.h"
#include "unicode/bytestriebuilder.h"
#include "unicode/calendar.h"
#include "unicode/caniter.h"
#include "unicode/casemap.h"
#include "unicode/char16ptr.h"
#include "unicode/chariter.h"
#include "unicode/choicfmt.h"
#include "unicode/coleitr.h"
#include "unicode/coll.h"
#include "unicode/compactdecimalformat.h"
#include "unicode/curramt.h"
#include "unicode/currpinf.h"
#include "unicode/currunit.h"
#include "unicode/datefmt.h"
#include "unicode/dbbi.h"
#include "unicode/dcfmtsym.h"
#include "unicode/decimfmt.h"
#include "unicode/displayoptions.h"
#include "unicode/docmain.h"
#include "unicode/dtfmtsym.h"
#include "unicode/dtintrv.h"
#include "unicode/dtitvfmt.h"
#include "unicode/dtitvinf.h"
#include "unicode/dtptngen.h"
#include "unicode/dtrule.h"
#include "unicode/edits.h"
#include "unicode/enumset.h"
#include "unicode/errorcode.h"
#include "unicode/fieldpos.h"
#include "unicode/filteredbrk.h"
#include "unicode/fmtable.h"
#include "unicode/format.h"
#include "unicode/formattednumber.h"
#include "unicode/formattedvalue.h"
#include "unicode/fpositer.h"
#include "unicode/gender.h"
#include "unicode/gregocal.h"
#include "unicode/icudataver.h"
#include "unicode/icuplug.h"
#include "unicode/idna.h"
#include "unicode/listformatter.h"
#include "unicode/localebuilder.h"
#include "unicode/localematcher.h"
#include "unicode/localpointer.h"
#include "unicode/locdspnm.h"
#include "unicode/locid.h"
#include "unicode/measfmt.h"
#include "unicode/measunit.h"
#include "unicode/measure.h"
#include "unicode/messagepattern.h"
#include "unicode/msgfmt.h"
#include "unicode/normalizer2.h"
#include "unicode/normlzr.h"
#include "unicode/nounit.h"
#include "unicode/numberformatter.h"
#include "unicode/numberrangeformatter.h"
#include "unicode/numfmt.h"
#include "unicode/numsys.h"
#include "unicode/parseerr.h"
#include "unicode/parsepos.h"
#include "unicode/platform.h"
#include "unicode/plurfmt.h"
#include "unicode/plurrule.h"
#include "unicode/ptypes.h"
#include "unicode/putil.h"
#include "unicode/rbbi.h"
#include "unicode/rbnf.h"
#include "unicode/rbtz.h"
#include "unicode/regex.h"
#include "unicode/region.h"
#include "unicode/reldatefmt.h"
#include "unicode/rep.h"
#include "unicode/resbund.h"
#include "unicode/schriter.h"
#include "unicode/scientificnumberformatter.h"
#include "unicode/search.h"
#include "unicode/selfmt.h"
#include "unicode/simpleformatter.h"
#include "unicode/simplenumberformatter.h"
#include "unicode/simpletz.h"
#include "unicode/smpdtfmt.h"
#include "unicode/sortkey.h"
#include "unicode/std_string.h"
#include "unicode/strenum.h"
#include "unicode/stringoptions.h"
#include "unicode/stringpiece.h"
#include "unicode/stringtriebuilder.h"
#include "unicode/stsearch.h"
#include "unicode/symtable.h"
#include "unicode/tblcoll.h"
#include "unicode/timezone.h"
#include "unicode/tmunit.h"
#include "unicode/tmutamt.h"
#include "unicode/tmutfmt.h"
#include "unicode/translit.h"
#include "unicode/tzfmt.h"
#include "unicode/tznames.h"
#include "unicode/tzrule.h"
#include "unicode/tztrans.h"
#include "unicode/ubidi.h"
#include "unicode/ubiditransform.h"
#include "unicode/ubrk.h"
#include "unicode/ucal.h"
#include "unicode/ucasemap.h"
#include "unicode/ucat.h"
#include "unicode/uchar.h"
#include "unicode/ucharstrie.h"
#include "unicode/ucharstriebuilder.h"
#include "unicode/uchriter.h"
#include "unicode/uclean.h"
#include "unicode/ucnv.h"
#include "unicode/ucnv_cb.h"
#include "unicode/ucnv_err.h"
#include "unicode/ucnvsel.h"
#include "unicode/ucol.h"
#include "unicode/ucoleitr.h"
#include "unicode/uconfig.h"
#include "unicode/ucpmap.h"
#include "unicode/ucptrie.h"
#include "unicode/ucsdet.h"
#include "unicode/ucurr.h"
#include "unicode/udat.h"
#include "unicode/udata.h"
#include "unicode/udateintervalformat.h"
#include "unicode/udatpg.h"
#include "unicode/udisplaycontext.h"
#include "unicode/udisplayoptions.h"
#include "unicode/uenum.h"
#include "unicode/ufieldpositer.h"
#include "unicode/uformattable.h"
#include "unicode/uformattednumber.h"
#include "unicode/uformattedvalue.h"
#include "unicode/ugender.h"
#include "unicode/uidna.h"
#include "unicode/uiter.h"
#include "unicode/uldnames.h"
#include "unicode/ulistformatter.h"
#include "unicode/uloc.h"
#include "unicode/ulocale.h"
#include "unicode/ulocbuilder.h"
#include "unicode/ulocdata.h"
#include "unicode/umachine.h"
#include "unicode/umisc.h"
#include "unicode/umsg.h"
#include "unicode/umutablecptrie.h"
#include "unicode/unifilt.h"
#include "unicode/unifunct.h"
#include "unicode/unimatch.h"
#include "unicode/unirepl.h"
#include "unicode/uniset.h"
#include "unicode/unistr.h"
#include "unicode/unorm.h"
#include "unicode/unorm2.h"
#include "unicode/unum.h"
#include "unicode/unumberformatter.h"
#include "unicode/unumberoptions.h"
#include "unicode/unumberrangeformatter.h"
#include "unicode/unumsys.h"
#include "unicode/uobject.h"
#include "unicode/upluralrules.h"
#include "unicode/uregex.h"
#include "unicode/uregion.h"
#include "unicode/ureldatefmt.h"
#include "unicode/urename.h"
#include "unicode/urep.h"
#include "unicode/ures.h"
#include "unicode/uscript.h"
#include "unicode/usearch.h"
#include "unicode/uset.h"
#include "unicode/usetiter.h"
#include "unicode/ushape.h"
#include "unicode/usimplenumberformatter.h"
#include "unicode/uspoof.h"
#include "unicode/usprep.h"
#include "unicode/ustdio.h"
#include "unicode/ustream.h"
#include "unicode/ustring.h"
#include "unicode/ustringtrie.h"
#include "unicode/utext.h"
#include "unicode/utf.h"
#include "unicode/utf16.h"
#include "unicode/utf32.h"
#include "unicode/utf8.h"
#include "unicode/utf_old.h"
#include "unicode/utmscale.h"
#include "unicode/utrace.h"
#include "unicode/utrans.h"
#include "unicode/utypes.h"
#include "unicode/uvernum.h"
#include "unicode/uversion.h"
#include "unicode/vtzone.h"