AIX

AIX

Connect with fellow AIX users and experts to gain knowledge, share insights, and solve problems.


#Power
 View Only
  • 1.  AIX/g++ linking issue

    Posted Wed November 26, 2008 05:49 AM

    Originally posted by: SystemAdmin


    we are using g++ (GCC) 4.2.0 complier to compile some c++ programs which is using MQ API calls in AIX 5.3.0.0 .
    Compiling is OK and able to create .o files , but when we link those files using g++ -o
    It is giving us errors like

    ld: 0711-317 ERROR: Undefined symbol: .ImqObj::setConnectionReference(ImqMgr*)
    ld: 0711-317 ERROR: Undefined symbol: typeinfo for ImqErr
    ld: 0711-317 ERROR: Undefined symbol: .ImqErr::~ImqErr()
    ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::ImqMgr()
    ld: 0711-317 ERROR: Undefined symbol: .ImqQue::ImqQue()
    ld: 0711-317 ERROR: Undefined symbol: .ImqMsg::ImqMsg()
    ld: 0711-317 ERROR: Undefined symbol: .ImqGmo3::ImqGmo3()
    ld: 0711-317 ERROR: Undefined symbol: .ImqPmo::ImqPmo()
    ld: 0711-317 ERROR: Undefined symbol: .ImqObj::setName(char const*)
    ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::connect()
    ld: 0711-317 ERROR: Undefined symbol: .ImqObj::setOpenOptions(long)
    ld: 0711-317 ERROR: Undefined symbol: .ImqObj::open()
    ld: 0711-317 ERROR: Undefined symbol: .ImqCac::useEmptyBuffer(char const*, unsig
    ned long)
    ld: 0711-317 ERROR: Undefined symbol: .ImqMsg::setFormat(char const*)
    ld: 0711-317 ERROR: Undefined symbol: .ImqCac::setMessageLength(unsigned long)
    ld: 0711-317 ERROR: Undefined symbol: .ImqBin::ImqBin(void const*, unsigned long
    )
    ld: 0711-317 ERROR: Undefined symbol: .ImqMtr::setCorrelationId(ImqBin const&)
    ld: 0711-317 ERROR: Undefined symbol: .ImqQue::put(ImqMsg&, ImqPmo&)
    ld: 0711-317 ERROR: Undefined symbol: .ImqBin::~ImqBin()
    ld: 0711-317 ERROR: Undefined symbol: .ImqMtr::setMessageId(unsigned char const*
    )
    ld: 0711-317 ERROR: Undefined symbol: .ImqQue::get(ImqMsg&, ImqGmo3&)
    ld: 0711-317 ERROR: Undefined symbol: .ImqMsg::formatIs(char const*) const
    ld: 0711-317 ERROR: Undefined symbol: .ImqCac::dataLength() const
    ld: 0711-317 ERROR: Undefined symbol: .ImqObj::close()
    ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::disconnect()
    ld: 0711-317 ERROR: Undefined symbol: .ImqGmo3::~ImqGmo3()
    ld: 0711-317 ERROR: Undefined symbol: .ImqMsg::~ImqMsg()
    ld: 0711-317 ERROR: Undefined symbol: .ImqQue::~ImqQue()
    ld: 0711-317 ERROR: Undefined symbol: .ImqMgr::~ImqMgr()
    ld: 0711-345 Use the -bloadmap or -bnoquiet option to obtain more information.
    we are using the commands :-

    g++ -c sample1.cpp

    g++ -c sample2.cpp

    g++ -o out sample1.o sample2.o -L/usr/mqm/lib64 -limqb23ia -limqb23ia_r -limqs23ia.a -limqs23ia_r.a

    The required lib files exist in both /usr/mqm/lib64 and current working dir .

    It seems the complier not able to find mqlibraries

    Can you guys able to help on this ?
    #AIX-Forum


  • 2.  Re: AIX/g++ linking issue

    Posted Tue August 27, 2013 04:49 AM

    Originally posted by: NagenDash


    Hi use "-Wl, -berok" option when linking all the objects together to make executable.

    Ex- g++ -c -Wl, -berok sample1.cpp


    #AIX-Forum