Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

The GX API can be accessed from the 64-bit C++ language programs.


Table of Contents



Installed Files

The GX Developer installation Developer repository contains all the following files for related to the C and /C++ languagedevelopment:

LIB Files

The library files included with GX Developer are produced by Microsoft Visual Studio and are intended to be used with that environment. Other compilers may or may not use the same format. Microsoft's format is known as COFF format, an older specification known as OMF format is still used by compilers created by Embarcadero (some versions), Digital Mars & some Fortran companies. If your compiler toolchain is windows based they will probably include a tool to convert from COFF if necessary. 


cpp\lib\geogx.lib

This is the main library file that contains all functions in the GX Developer .  This library files should be included in your list of link libraries.

cpp\lib\geogx_u.lib

Unicode (UTF-16) version of geogx.lib library

cpp\lib\geogx_utf8.lib

UTF-8 version of geogx.lib library

cpp\lib\geodist.lib

This library is required for external applications. It provides the very small set of methods in the External API.

cpp\lib\geogxdbus.lib

This library is required for external 64-bit C++ applications. It provides the very small set of methods in the External API.

C Header Files


cpp\include\gx_lib.h

C header file for all GX functions in the current release.  This header file is only for the purpose of providing prototypes to C compilers. The original GXH files (gxdev\gxh\*.gxh) should be referred to for information on actual function usage.  Note that there are both standard calling convention (GX_STANDARD_FUNC) and C calling convention (GX_WRAPPER_FUNC) wrappers for every function.  C programmers should use the GX_WRAPPER_FUNC functions. 

cpp\include\gx_define.hdefine statements for all defined constants in the GX Developer GXH files.  These are for use in your programs, but the original GXH files should be used to obtain information on usage.  If the constant definitions conflict with definitions used in your programs you should not include this file and instead use the explicit form of the constants. 
cpp\include\gx_extern.hC header file includes functions to create and destroy the GX Object Pointer, and display or retrieve error message.  These functions are required by stand-alone programs. 

C Examples


cpp\examples\c\gridcopyConsole program to copy/convert grids using IMG class interface.
cpp\examples\c\chanaddConsole program to add a value to a database channel.
cpp\examples\c\chanstdIdentical to chanadd but uses the “stdcall” function interface.
cpp\examples\c\callfuncA sample DLL that is called from a GX running under Oasis montaj.
cpp\examples\c\licensecheckConsole program to detect if a license is present. Works in conjunction with Oasis montaj .
cpp\examples\c\OMScriptGUI program that can execute GS Scripts and GX’s in GUI mode.


C++ Header Files


cpp\include\gxcpp_dbush

cpp\include\gxcpp_geogx.h

C++ header file for all 32-bit GX functions in the current releaseGX API. This header file is only for the purpose of providing implementation of class-wrappers to C++ compilers.

.


C++

header file for all 64-bit GX functions in the current release. This header file is only for the purpose of providing implementation of class-wrappers to C++ compilers.

C++ Examples


cpp\examples\cpp\gridcopy

Console program to copy/modify grids using GXIMG class interface, this example also shows how to get the actual grid data.

cpp\examples\cpp\chanadd

Console program to work with database channels, this example also shows how to get the actual data from a channel.

cpp\examples\cpp\gridstatConsole program to get statistics for a grid, this example also shows how to get the actual grid data

Development Requirements

To use the C++ API you will need to download and install the following 3rd party libraries:

Boost 1.57

Glib 2.34.3 (64-Bit)

Your project would need to include paths for boost, GLIB and the GX API. Your linker would also need to link against the following libraries:

  • glib-2.0.lib
  • gio-2.0.lib
  • gobject-2.0.lib
  • geogxdbus.lib