Solstice Enterprise Manager 4.1 Developing C++ Applications Doc Set ContentsPreviousNextIndex


Chapter 14

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 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
-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
-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 
    Flag Definition
    -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.



    Sun Microsystems, Inc.
    Copyright information. All rights reserved.
    Doc Set  |   Contents   |   Previous   |   Next   |   Index