Geosoft GX Developer 8.5
C/C++
Installed Files
The GX Developer installation contains all the following files for the C and C++ language:
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.h | define 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.h | C 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\gridcopy | Console program to copy/convert grids using IMG class interface. |
cpp\examples\c\chanadd | Console program to add a value to a database channel. |
cpp\examples\c\chanstd | Identical to chanadd but uses the “stdcall” function interface. |
cpp\examples\c\callfunc | A sample DLL that is called from a GX running under Oasis montaj. |
cpp\examples\c\licensecheck | Console program to detect if a license is present. Works in conjunction with Oasis montaj . |
cpp\examples\c\OMScript | GUI program that can execute GS Scripts and GX’s in GUI mode. |
C++ Header Files
cpp\include\gxcpp_geogx.h | C++ header file for all 32-bit GX functions in the current release. This header file is only for the purpose of providing implementation of class-wrappers to C++ compilers. |
cpp\include\gxcpp_dbus.h | 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\gridstat | Console 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 (32-Bit)
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
Geosoft GX Developer 8.5