Supported Libraries
Spectrum™ Technology Platform provides an ASCII and Unicode version C API, while the Unicode version remains as compatible as possible with the original ASCII-version API design. Spectrum™ Technology Platform applies International Components for Unicode (ICU) in the API to support the Unicode feature. ICU is a mature, widely used set of C/C++ libraries for Unicode support and is developed by IBM.
The Unicode standard defines a default encoding based on 16-bit code units. This is supported in ICU by the definition of the UChar to be an unsigned 16-bit integer type(unsigned short *). This is the base type for character arrays for strings in ICU. Spectrum™ Technology Platform uses UChar as the Unicode string representation in our C API.
For detailed information about UChar, please refer to the following two sites:
- icu.sourceforge.net/userguide/
- www-306.ibm.com/software/globalization/icu/index.jsp
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.
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 |
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 |
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 |
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 |
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 |
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 |
Unix
Each ClientSDK configuration produces library files with a common base name (libg1client ) but with a unique suffix. Spectrum™ Technology Platform provides a multithread and release build for ASCII version and UNICODE version.
The library suffixes work like this:-
libg1client<U>.<so|sl|a>
- U—indicates a UNICODE version build. If this is absent it indicates an ASCII build.
To use the UNICODE version, you need to define LIB_UNICODE in your project.
In UNICODE Version C++ API, the namespace for all classes is g1client.
AIX |
||
ASCII |
Unicode |
|
g1 |
libg1client.so |
libg1client_U.so |
openssl |
libcrypto.so libssl.so |
libcrypto.so libssl.so |
opentop |
libopentop-xlCmt.so |
libopentop-xlCmtw.so libotxml-xlCmtw.so |
icu |
libicudata34.a libicui18n34.a libicuio34.a libicuuc34.a |
|
Poco |
libPocoXML.so |
|
HP-UX |
||
ASCII |
Unicode |
|
g1 |
libg1client.sl |
libg1client_U.sl |
openssl |
libcrypto.sl libssl.sl libcrypto.sl.0.9.7 libssl.sl.0.9.7 |
libcrypto.sl libssl.sl libcrypto.sl.0.9.7 libssl.sl.0.9.7 |
opentop |
libopentop-accmt.sl |
libopentop-accmtw.sl libotxml-accmtw.sl |
icu |
libicudata.sl libicudata.sl.34 libicui18n.sl libicui18n.sl.34 libicuio.sl libicuio.sl.34 libicuuc.sl libicuuc.sl.34 |
|
Poco |
libPocoXML.sl |
|
Itanium |
||
ASCII |
Unicode |
|
g1 |
libg1client.sl |
libg1client_U.sl |
openssl |
libcrypto.a libssl.a |
libcrypto.a libssl.a |
opentop |
libopentop-accmt.sl |
libopentop-accmtw.sl libotxml-accmtw.sl |
icu |
libicudata.sl libicudata.sl.34 libicudata.sl.34.0 libicui18n.sl libicui18n.sl.34 libicui18n.sl.34.0 libicuio.sl libicuio.sl.34 libicuio.sl.34.0 libicuuc.sl libicuuc.sl.34 libicuuc.sl.34.0 |
|
Poco |
libPocoXML.sl |
|
Linux |
||
ASCII |
Unicode |
|
g1 |
libg1client.so |
libg1client_U.so |
openssl |
libcrypto.so libcrypto.so.0.9.7 libssl.so libssl.so.0.9.7 |
libcrypto.so libcrypto.so.0.9.7 libssl.so libssl.so.0.9.7 |
opentop |
libopentop-gccmt.so |
libopentop-gccmtw.so libotxml-gccmtw.so |
icu |
libicudata.so libicudata.so.34 libicui18n.so libicui18n.so.34 libicuio.so libicuio.so.34 libicuuc.so libicuuc.so.34 |
|
Poco |
libPocoXML.so |
|
Solaris |
||
ASCII |
Unicode |
|
g1 |
libg1client.so |
libg1client_U.so |
openssl |
libcrypto.so libcrypto.so.0.9.7 libssl.so libssl.so.0.9.7 |
libcrypto.so libcrypto.so.0.9.7 libssl.so libssl.so.0.9.7 |
opentop |
libopentop-fortemt.so |
libopentop-fortemtw.so libotxml-fortemtw.so |
icu |
libicudata.so libicudata.so.34 libicui18n.so libicui18n.so.34 libicuio.so libicuio.so.34 libicuuc.so libicuuc.so.34 |
|
Poco |
libPocoXML.so |