Supported Compilers

Table 3 lists the compilers that the current release of the Essbase API supports.

Table 3. Supported Compilers

PlatformCompiler
Windows 2003 Server / 2008 Server (32/64 bit)

Visual Studio 2010 with Service Pack 1

HP-UX 11.x (64-bit only)HP-UX C compiler (Version 5 with latest patch, or later)
AIX (5.3 or later, 32/64 bit)AIX compiler (11.1 or later)
Solaris (5.10 or later, 32/64 bit)Sun Studio (12.2 or later)
Red Hat Linux or Oracle Enterprise Linux (4.0 or later, 32/64 bit)GCC compiler (4.4.4 or later)

Note:

The Essbase API does not support VB.NET

Sample Windows Make Files

The following are sample make files for either 32-bit or 64-bit Windows. See also Support on 64-Bit Platforms.


# common.mak

# Common Windows settings

UTF8	= 1

#--------------------------------------------------------------------
# Essbase's include and library path
#--------------------------------------------------------------------
ESSINCDIR = /I$(APIPATH)/api/include
ESSLIBDIR = /LIBPATH:$(APIPATH)/api/lib

#--------------------------------------------------------------------
# MSDEV compiler options
#--------------------------------------------------------------------
CP = cp
MKDIR = mkdir
RM = rm
MAKE = nmake
CC = cl
CPPC = cl
LINK = link
SVRLINK = link

!IF "$(SXR_64BIT)" == "1"
STDLIBS	= kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib bufferoverflowu.lib

CFLAGS = /nologo /c /w /D"_CRT_SECURE_NO_DEPRECATE" -DBIT64 -DWIN64
CPPFLAGS = /nologo /c /w /D"_CRT_SECURE_NO_DEPRECATE" -DBIT64 -DWIN64

!IF "$(PROCESSOR_ARCHITEW6432)" == "IA64"
LFLAGS = /nologo /DEBUG /MACHINE:IA64
LPPFLAGS = /nologo /DEBUG /MACHINE:IA64
LIBFLAGS = /nologo /MACHINE:IA64
!ELSE
LFLAGS 	= /nologo /DEBUG /MACHINE:AMD64
LPPFLAGS = /nologo /DEBUG /MACHINE:AMD64
LIBFLAGS = /nologo /MACHINE:AMD64
!ENDIF

!ELSE
STDLIBS	= kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib

CFLAGS 	= /nologo /MLd /c /w -D_USE_32BIT_TIME_T
CPPFLAGS = /nologo /MLd /c /w
LFLAGS 	= /nologo /DEBUG /MACHINE:I386
LPPFLAGS = /nologo /DEBUG /MACHINE:I386
LIBFLAGS = /nologo /MACHINE:I386
!ENDIF

!IF "$(UTF8)" == "0"
ESSLIBS	= essapin.lib essgapin.lib essotln.lib
!ELSE
ESSLIBS = essapinu.lib essgapinu.lib essotlnu.lib
!ENDIF


# Makefile.dat

include common.mak

APITESTSOURCE = \
    CuTest.c \
    EssUtil.c \
    apgd9096056.c \
    capimain.c \

#----------------------------------------------------------
# Make rule
#----------------------------------------------------------

INCDIR1     = /IC:/api_view/src
INCDIR2     = /IK:/essexer/base/src

APITESTMAIN	= capimain
APITESTOBJS	= $(APITESTSOURCE:.c=.obj)

$(APITESTMAIN).exe:	$(APITESTOBJS)
	$(LINK) $(LFLAGS) /out:$(APITESTMAIN).exe $(APITESTOBJS) $(STDLIBS) $(ESSLIBDIR) $(ESSLIBS)

$(APITESTOBJS):	$(APITESTSOURCE)
	$(CC) $(CFLAGS) $(APITESTSOURCE) $(ESSINCDIR) $(INCDIR1) $(INCDIR2)