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

Table 1. Single Threaded/Release

ASCII

Unicode

g1

libg1client_S.lib

libg1client_SU.lib

openssl

otlibeay64.lib otlibssl64.lib

otlibeay64.lib otlibssl64.lib

opentop

opentop.lib

opentopw.lib

icu

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

Poco

PocoXML64.lib

PocoXML64w.lib

Table 2. Single Threaded/Debug

ASCII

Unicode

g1

libg1client_SD.lib

libg1client_SUD.lib

openssl

otlibeay64d.lib otlibssl64d.lib

otlibeay64d.lib otlibssl64d.lib

opentop

opentopd.lib

opentopwd.lib

icu

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

Poco

PocoXML64d.lib

PocoXML64wd.lib

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

ASCII

Unicode

g1

libg1client.lib

libg1client_U.lib

openssl

otlibeay64mt.lib otlibssl64mt.lib

otlibeay64mt.lib otlibssl64mt.lib

opentop

opentopmt.lib

opentopmtw.lib

icu

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

Poco

PocoXMLmt64.lib

PocoXML64mtw.lib

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

ASCII

Unicode

g1

libg1client_D.lib

libg1client_UD.lib

openssl

otlibeay64mtd.lib otlibssl64mtd.lib

otlibeay64mtd.lib otlibssl64mtd.lib

opentop

opentopmtd.lib

opentopmtwd.lib

icu

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

Poco

PocoXMLmt64d.lib

PocoXML64mtwd.lib

Dynamic Library

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

ASCII

Unicode

g1

g1client.dll

g1client_U.dll

openssl

otlibeay64mts.dll otlibssl64mts.dll

otlibeay64mts.dll otlibssl64mts.dll

opentop

opentopmts.dll

opentopmtws.dll

icu

icuuc64.dll icuio64.dll icuin64.dll icudt64.dll

Poco

PocoXML64mts.dll

PocoXML64mtws.dll

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

ASCII

Unicode

g1

g1client_D.dll

g1client_UD.dll

openssl

otlibeay64mtds.dll otlibssl64mtds.dll

otlibeay64mtds.dll otlibssl64mtds.dll

opentop

opentopmtds.dll

opentopmtwds.dll

icu

icuuc64d.dll icuio64d.dll icuin64d.dll icudt64d.dll

Poco

PocoXML64mtds.dll

PocoXML64mtwds.dll