C Libraries Supported on Windows

Each API configuration produces library files with a common base name (g1client) but with a unique suffix and possibly prefix ("lib" in the case of static libraries). The library suffixes work like this:

<lib>g1client<S><U><D>.<lib|dll>

  • lib—indicates a static library.
  • dll—indicates a dynamic (shared) library.
  • S—indicates a single-threaded build. If this is absent it indicates a multi-threaded build.
  • U—indicates a UNICODE version build. If this is absent it indicates an ASCII build.
  • D—indicates a debug build. If this suffix is absent it indicates an optimized release build.

To enable the UNICODE version, the LIB_UNICODE macro definition must be in your project.

To use the static C/C++ API library UNICODE version, you need to define U_STATIC_IMPLEMENTATION in your project.

To use the dynamic version, you need to define G1CLIENT_DLL in your project.

We also provide a file called "auto_link.h" in the header file directory and it automatically links to all the corresponding libraries according to the project settings.

To call 64-bit libraries in Windows, you need to define VER_64 in your project.

Static Library

Note: The names provided in this section are for 32-bit libraries. For 64-bit libraries, replace "32" with "64" in the library name.
Table 1. Single Threaded/Release
 

ASCII

Unicode

g1

libg1client_S.lib

libg1client_SU.lib

openssl

otlibeay32.lib otlibssl32.lib

otlibeay32.lib otlibssl32.lib

opentop

opentop.lib

opentopw.lib

icu

 

libicuuc.lib libicudt.lib libicuin.lib libicuio.lib

Poco

PocoXML32.lib

PocoXML32w.lib

Table 2. Single Threaded/Debug
 

ASCII

Unicode

g1

libg1client_SD.lib

libg1client_SUD.lib

openssl

otlibeay32d.lib otlibssl32d.lib

otlibeay32d.lib otlibssl32d.lib

opentop

opentopd.lib

opentopwd.lib

icu

 

libicuucd.lib libicudtd.lib libicuind.lib libicuiod.lib

Poco

PocoXML32d.lib

PocoXML32wd.lib

Table 3. Multi/Release (using Multi-Threaded CRT)
 

ASCII

Unicode

g1

libg1client.lib

libg1client_U.lib

openssl

otlibeay32mt.lib otlibssl32mt.lib

otlibeay32mt.lib otlibssl32mt.lib

opentop

opentopmt.lib

opentopmtw.lib

icu

 

libicuucmt.lib libicudtmt.lib libicuinmt.lib libicuiomt.lib

Poco

PocoXMLmt32.lib

PocoXML32mtw.lib

Table 4. Multi/Debug (using Multi-Threaded CRT)
 

ASCII

Unicode

g1

libg1client_D.lib

libg1client_UD.lib

openssl

otlibeay32mtd.lib otlibssl32mtd.lib

otlibeay32mtd.lib otlibssl32mtd.lib

opentop

opentopmtd.lib

opentopmtwd.lib

icu

 

libicuucmtd.lib libicudtmtd.lib libicuinmtd.lib libicuiomtd.lib

Poco

PocoXMLmt32d.lib

PocoXML32mtwd.lib

Dynamic Library

Note: The names provided in this section are for 32-bit libraries. For 64-bit libraries, replace "32" with "64" in the library name.
Table 5. Multi/Release (using Multi-Threaded CRT)
 

ASCII

Unicode

g1

g1client.dll

g1client_U.dll

openssl

otlibeay32mts.dll otlibssl32mts.dll

otlibeay32mts.dll otlibssl32mts.dll

opentop

opentopmts.dll

opentopmtws.dll

icu

 

icuuc32.dll icuio32.dll icuin32.dll icudt32.dll

Poco

PocoXML32mts.dll

PocoXML32mtws.dll

Table 6. Multi/Debug (using Multi-Threaded CRT)
 

ASCII

Unicode

g1

g1client_D.dll

g1client_UD.dll

openssl

otlibeay32mtds.dll otlibssl32mtds.dll

otlibeay32mtds.dll otlibssl32mtds.dll

opentop

opentopmtds.dll

opentopmtwds.dll

icu

 

icuuc32d.dll icuio32d.dll icuin32d.dll icudt32d.dll

Poco

PocoXML32mtds.dll

PocoXML32mtwds.dll