Guidelines for Compiling and
Linking Applications
Applications you develop by using the Solstice EM
C++ APIs require specific flags to be set at compilation
time. You also need to link your applications with the
Solstice EM C++ libraries.
This chapter states the compiler version
requirements for applications you develop by using the
Solstice EM C++ APIs. It lists, for each class in the
Solstice EM C++ APIs, the header files you need to include in
your application code and the libraries you need to link your
applications with. This chapter also explains the flags you
must set when you compile applications developed by using the
Solstice EM C++ APIs.
14.1 Compiler Version
Requirements
To compile applications you develop by using the
Solstice EM C++ APIs, you must use version 5.3 of the
SunTM Workshop C++
compiler.
14.2 Header Files and
Libraries
TABLE 14-1 and
TABLE 14-2
list for each Solstice EM scheduler and API class:
- The
header file you need to include in your application
code
- The
flags you need to add to the LDLIBS entry in your
makefile
The header files of Solstice EM are contained in
subdirectories of the /opt/SUNWconn/em/include directory. The
C++ libraries of Solstice EM are provided as shared
libraries. They are contained in the /opt/SUNWconn/em/lib
directory.
TABLE 14-1 Header Files
and Libraries for the Solstice EM
Schedulers
| Scheduler
|
Header
File
|
LDLIB Flag
|
|
sched (Applications
with no GUI) |
pmi/hi.hh |
-lsched |
|
xtsched (GUI
applications) |
pmi/xtsched.hh |
-lxtsched |
TABLE 14-2 Header
Files and Libraries for the Solstice EM API
Classes
| Class
|
Header
File
|
LDLIB Flag
|
|
ACAccessControlRules |
acapi/accesscontrolrules.hh
|
-lacapi |
|
ACAccessUserList |
acapi/acaccessuserlist.hh
td>
|
-lacapi |
|
ACAppFeatureContainer |
acapi/acapplicationfeature.hh |
-lacapi |
|
ACApplication |
acapi/acapplication.hh |
-lacapi |
|
ACApplicationContainer |
acapi/acapplication.hh |
-lacapi |
|
ACApplicationFeature |
acapi/acapplicationfeature.hh |
-lacapi |
|
ACCallback |
acapi/accallback.hh |
-lacapi |
|
ACContainer |
acapi/accontainer.hh |
-lacapi |
|
ACDbObject |
acapi/acdbobject.hh |
-lacapi |
|
ACDbObjectContainer |
acapi/acdbobject.hh |
-lacapi |
|
ACE |
ace/ace.hh |
-lace |
|
ACEContext |
ace/ace_context.hh |
-lace |
|
ACEDecision |
ace/ace_decision.hh |
-lace |
|
ACEDomain |
ace/ace_domain.hh |
-lace |
|
ACEMNotificationEmitter |
acapi/notificationemitter.hh |
-lacapi |
|
ACEMTargets |
acapi/acemtargets.hh |
-lacapi |
|
ACEReqData |
ace/ace_req_data.hh |
-lace |
|
ACGroup |
acapi/acgroup.hh |
-lacapi |
|
ACGroupContainer |
acapi/acgroup.hh |
-lacapi |
|
ACInterface |
acapi/acinterface.hh |
-lacapi |
|
ACObject |
acapi/acobject.hh |
-lacapi |
|
ACRule |
acapi/acrule.hh |
-lacapi |
|
ACRuleContainer |
acapi/acrule.hh |
-lacapi |
|
ACScope |
acapi/actargets.hh |
-lacapi |
|
ACTargets |
acapi/actargets.hh |
-lacapi |
|
ACTargetsContainer |
acapi/actargets.hh |
-lacapi |
|
ACUser |
acapi/acaccessuserlist.hh
td>
|
-lacapi |
|
AccessDenied |
pmi/message.hh |
-lpmi |
|
ActionReq |
pmi/message.hh |
-lpmi |
|
ActionRes |
pmi/message.hh |
-lpmi |
|
Address |
pmi/address.hh |
-lpmi |
|
Album |
pmi/hi.hh |
-lpmi |
|
AlbumImage |
pmi/hi.hh |
-lpmi |
|
AppInstComm |
app_comm.hh |
-lappapi |
|
AppInstObj |
app_comm.hh |
-lappapi |
|
AppRequest |
app_comm.hh |
-lappapi |
|
AppTarget |
app_comm.hh |
-lappapi |
|
Asn1ParsedValue |
pmi/asn1_type.hh |
-lpmi |
|
Asn1Tag |
Both of the following: pmi/basic.hh
pmi/asn1_val.hh
|
-lpmi |
|
Asn1Type |
pmi/asn1_type.hh |
-lpmi |
|
Asn1Value |
pmi/asn1_val.hh |
-lpmi |
|
AssocReleased |
pmi/message.hh |
-lpmi |
|
AttrModifier |
pmi/hi.hh |
-lpmi |
|
AuthApps |
pmi/auth_apps.hh |
-lpmi |
|
AuthFeatures |
pmi/auth_features.hh |
-lpmi |
|
AuxServerUtils |
ace/ace_aux_server_utils.hh
|
-lacapi |
|
Blockage |
pmi/sched.hh |
-lsched |
|
Callback |
pmi/callback.hh |
-lpmi |
|
CancelGetReq |
pmi/message.hh |
-lpmi |
|
CancelGetRes |
pmi/message.hh |
-lpmi |
|
ClassInstConfl |
pmi/message.hh |
-lpmi |
|
Coder |
pmi/hi.hh |
-lpmi |
|
Command |
pmi/command.hh |
-lpmi |
|
Config |
pmi/config.hh |
-lpmi |
|
CreateReq |
pmi/message.hh |
-lpmi |
|
CreateRes |
pmi/message.hh |
-lpmi |
|
CurrentEvent |
pmi/hi.hh |
-lpmi |
|
DataUnit |
pmi/du.hh |
-lpmi |
|
DeleteReq |
pmi/message.hh |
-lpmi |
|
DeleteRes |
pmi/message.hh |
-lpmi |
|
Dictionary |
pmi/dict.hh |
-lpmi |
|
DuplicateOI |
pmi/message.hh |
-lpmi |
|
DupMessageId |
pmi/message.hh |
-lpmi |
|
EMAgent |
topo_api/topo_api.hh |
-ltopo_api |
|
EMCmipAgent |
topo_api/topo_api.hh |
-ltopo_api |
|
EMCmipAgentDn |
topo_api/topo_api.hh |
-ltopo_api |
|
EMIntegerSet |
topo_api/topo_api.hh |
-ltopo_api |
|
EMIntegerSetIterator |
topo_api/topo_api.hh |
-ltopo_api |
|
EMObject |
topo_api/topo_api.hh |
-ltopo_api |
|
EMRpcAgent |
topo_api/topo_api.hh |
-ltopo_api |
|
EMRpcAgentDn |
topo_api/topo_api.hh |
-ltopo_api |
|
EMSnmpAgent |
topo_api/topo_api.hh |
-ltopo_api |
|
EMSnmpAgentDn |
topo_api/topo_api.hh |
-ltopo_api |
|
EMStatus |
topo_api/topo_api.hh |
-ltopo_api |
|
EMTopoNode |
topo_api/topo_api.hh |
-ltopo_api |
|
EMTopoNodeDn |
topo_api/topo_api.hh |
-ltopo_api |
|
EMTopoPlatform |
topo_api/topo_api.hh |
-ltopo_api |
|
EMTopoType |
topo_api/topo_api.hh |
-ltopo_api |
|
EMTopoTypeDn |
topo_api/topo_api.hh |
-ltopo_api |
|
EMdataset |
grapher/EMgraph.hh |
-lemgraphapi |
|
EMdynamicDataset |
grapher/EMgraph.hh |
-lemgraphapi |
|
EMgraph |
grapher/EMgraph.hh |
-lemgraphapi |
|
EMstaticDataset |
grapher/EMgraph.hh |
-lemgraphapi |
|
Err |
grapher/EMgraph.hh |
-lemgraphapi |
|
Error |
pmi/error.hh |
-lpmi |
|
ErrorResUnexp |
pmi/message.hh |
-lpmi |
|
EventReq |
pmi/message.hh |
-lpmi |
|
GenInt |
pmi/genint.hh |
-lpmi |
|
GetListErr |
pmi/message.hh |
-lpmi |
|
GetReq |
pmi/message.hh |
-lpmi |
|
GetRes |
pmi/message.hh |
-lpmi |
|
Hash |
pmi/hash.hh |
-lpmi |
|
HashImpl |
pmi/hash.hh |
-lpmi |
|
Hdict |
pmi/dict.hh |
-lpmi |
|
Hrefdict |
pmi/dict.hh |
-lpmi |
|
Image |
pmi/hi.hh |
-lpmi |
|
InvalidActionArg |
pmi/message.hh |
-lpmi |
|
InvalidAttrVal |
pmi/message.hh |
-lpmi |
|
InvalidEventArg |
pmi/message.hh |
-lpmi |
|
InvalidFilter |
pmi/message.hh |
-lpmi |
|
InvalidOI |
pmi/message.hh |
-lpmi |
|
InvalidOperation |
pmi/message.hh |
-lpmi |
|
InvalidOperator |
pmi/message.hh |
-lpmi |
|
InvalidScope |
pmi/message.hh |
-lpmi |
|
LinkedResUnexp |
pmi/message.hh |
-lpmi |
|
Message |
pmi/message.hh |
-lpmi |
|
MessQOS |
pmi/message.hh |
-lpmi |
|
MessScope |
pmi/message.hh |
-lpmi |
|
MessageSAP |
pmi/message.hh |
-lpmi |
|
MissingAttrVal |
pmi/message.hh |
-lpmi |
|
MistypedArg |
pmi/message.hh |
-lpmi |
|
MistypedError |
pmi/message.hh |
-lpmi |
|
MistypedOp |
pmi/message.hh |
-lpmi |
|
MistypedRes |
pmi/message.hh |
-lpmi |
|
Morf |
pmi/hi.hh |
-lpmi |
|
MorfBuilder |
extpmi/exthi.hh |
-lextpmi |
|
NCAsyncResIterator |
nci/nc_api.hh |
-lnci |
|
NCParsedReqHandle |
nci/nc_api.hh |
-lnci |
|
NCTopoInfoList |
nci/nc_apiiI.hh |
-lnci |
|
NoSuchAction |
pmi/message.hh |
-lpmi |
|
NoSuchActionArg |
pmi/message.hh |
-lpmi |
|
NoSuchAttr |
pmi/message.hh |
-lpmi |
|
NoSuchEvent |
pmi/message.hh |
-lpmi |
|
NoSuchEventArg |
pmi/message.hh |
-lpmi |
|
NoSuchMessageId |
pmi/message.hh |
-lpmi |
|
NoSuchOC |
pmi/message.hh |
-lpmi |
|
NoSuchOI |
pmi/message.hh |
-lpmi |
|
NoSuchRefOI |
pmi/message.hh |
-lpmi |
|
ObjReqMess |
pmi/message.hh |
-lpmi |
|
ObjResMess |
pmi/message.hh |
-lpmi |
|
Oid |
pmi/oid.hh |
-lpmi |
|
OpCancelled |
pmi/message.hh |
-lpmi |
|
PasswordTty |
pmi/password_tty.hh |
-lpmi |
|
Platform |
pmi/hi.hh |
-lpmi |
|
ProcessFailure |
pmi/message.hh |
-lpmi |
|
Queue |
pmi/queue.hh |
-lpmi |
|
ReqMess |
pmi/message.hh |
-lpmi |
|
ResMess |
pmi/message.hh |
-lpmi |
|
ResourceLimit |
pmi/message.hh |
-lpmi |
|
ScopedReqMess |
pmi/message.hh |
-lpmi |
|
SetListErr |
pmi/message.hh |
-lpmi |
|
SetReq |
pmi/message.hh |
-lpmi |
|
SetRes |
pmi/message.hh |
-lpmi |
|
SyncNotSupp |
pmi/message.hh |
-lpmi |
|
Syntax |
pmi/hi.hh |
-lpmi |
|
TimedOut |
pmi/message.hh |
-lpmi |
|
Timer |
pmi/sched.hh |
-lpmi |
|
UnexpChildOp |
pmi/message.hh |
-lpmi |
|
UnexpError |
pmi/message.hh |
-lpmi |
|
UnexpRes |
pmi/message.hh |
-lpmi |
|
UnrecError |
pmi/message.hh |
-lpmi |
|
UnrecLinkedId |
pmi/message.hh |
-lpmi |
|
UnrecMessageId |
pmi/message.hh |
-lpmi |
|
UnrecOp |
pmi/message.hh |
-lpmi |
|
ViewerAPI |
viewer_api.hh |
-lviewer_api |
|
Waiter |
pmi/hi.hh |
-lpmi |
14.3 Options for Locating
Header Files and Libraries
To enable the compiler to locate the required
Solstice EM header files and libraries, specify the following
entries in your makefile:
CFLAGS += -I/opt/SUNWconn/em/include
LDFLAGS += -L/opt/SUNWconn/em/lib
-R/opt/SUNWconn/em/lib
|
14.4 Compilation
Flags
Set the compilation flags listed in TABLE 14-3 to
instruct the compiler to load the proper code for the various
operating systems, and to specify whether tracing and
debugging are required.
TABLE 14-3 Compilation
Flags for Applications Developed With the Solstice EM C++
APIs
|
-DSOLARIS |
Specifies the SolarisTM operating
environment. |
|
-DSYSV |
Specifies the Berkeley BSD System V operating
system. |
|
-DNO_TRACE |
Disables the tracing functions in the portable
management interface (PMI). Set this option for the
production version of your applications. It is not needed
during the development phase of your
applications. |
|
-DDEBUG |
Enables use of the PMI debug class. Set this
option during the development phase of your applications. It
is not needed for the production version. |