Decision Optimization

Decision Optimization

Delivers prescriptive analytics capabilities and decision intelligence to improve decision-making.

 View Only
Expand all | Collapse all

compiling c++ program using concert cplex

  • 1.  compiling c++ program using concert cplex

    Posted Sat February 23, 2013 10:51 AM

    Originally posted by: SystemAdmin


    Hi,
    i'm trying to compile a c++ program using concert cplex technology and the new c++11 standard but i get stange errors at libconcert.a when i add the flag stdlib=libc++.
    I'm using Mac OS Mountain Lion with clang compiler.
    error message from the compiler:

    Undefined symbols for architecture x86_64:
    "__gnu_cxx::__exchange_and_add(int volatile*, int)", referenced from:
    IloGetString(std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&) in libconcert.a(iloenv.o)
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloDataCollection::ImmutableException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloOperatorException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    ...
    "std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >::str() const", referenced from:
    IloGetString(std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&) in libconcert.a(iloenv.o)
    "std::ostream::~std::ostream()", referenced from:
    construction vtable for std::ostream-in-IloNullStream in libconcert.a(iloenv.o)
    "std::ostream::~std::ostream()", referenced from:
    construction vtable for std::ostream-in-IloNullStream in libconcert.a(iloenv.o)
    "std::ostream::operator<<(void const*)", referenced from:
    IloNamedAnyPropertyI::display(std::ostream&) const in libconcert.a(iloenv.o)
    IloNamedPropertySet::NotPresent::print(std::ostream&) const in libconcert.a(iloenv.o)
    IloAlgorithm::NoObjectiveException::print(std::ostream&) const in libconcert.a(iloalg.o)
    IloAlgorithm::NotExtractedException::print(std::ostream&) const in libconcert.a(iloalg.o)
    IloAlgorithm::CannotRemoveException::print(std::ostream&) const in libconcert.a(iloalg.o)
    IloAlgorithm::CannotChangeException::print(std::ostream&) const in libconcert.a(iloalg.o)
    IloNumArrayMemberI::display(std::ostream&) const in libconcert.a(iloconstraint.o)
    ...
    "std::ostream::operator<<(double)", referenced from:
    IloNumTimesCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloNumDivCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloNumRecDivCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloNumMinCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloNumMaxCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloNumPowerCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloNumRecPowerCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    ...
    "std::ostream::operator<<(long)", referenced from:
    IloBoolVarDomainI::display(std::ostream&) in libconcert.a(iloexpression.o)
    IloIntModuloCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloIntRecModuloCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloIntTimesCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloIntDivCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloIntRecDivCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloIntMinCstI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    ...
    "std::ostream::operator<<(unsigned long)", referenced from:
    IloConversionI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloCplexI::inconsistency(int) in libilocplex.a(ilocplex.o)
    "std::string::_Rep::_M_destroy(std::allocator<char> const&)", referenced from:
    IloGetString(std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&) in libconcert.a(iloenv.o)
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloDataCollection::ImmutableException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloOperatorException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    ...
    "std::string::_Rep::_S_empty_rep_storage", referenced from:
    IloGetString(std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >&) in libconcert.a(iloenv.o)
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloDataCollection::ImmutableException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloOperatorException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    ...
    "std::basic_streambuf<char, std::char_traits<char> >::sync()", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::imbue(std::locale const&)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::uflow()", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::setbuf(char*, long)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::xsgetn(char*, long)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::xsputn(char const*, long)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::seekoff(long long, std::_Ios_Seekdir, std::_Ios_Openmode)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::seekpos(std::fpos<__mbstate_t>, std::_Ios_Openmode)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::overflow(int)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::pbackfail(int)", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::showmanyc()", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_streambuf<char, std::char_traits<char> >::underflow()", referenced from:
    vtable for IloPrivateBuf in libconcert.a(iloenv.o)
    "std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >::basic_ostringstream(std::_Ios_Openmode)", referenced from:
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloDataCollection::ImmutableException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloOperatorException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    "std::locale::locale()", referenced from:
    IloEnvI::IloEnvI() in libconcert.a(iloenv.o)
    "std::locale::~locale()", referenced from:
    IloEnvI::IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    IloPrivateBuf::~IloPrivateBuf() in libconcert.a(iloenv.o)
    IloPrivateBuf::~IloPrivateBuf() in libconcert.a(iloenv.o)
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    ...
    "std::ios_base::Init::Init()", referenced from:
    __static_initialization_and_destruction_0(int, int) in libconcert.a(iloexpression.o)
    __static_initialization_and_destruction_0(int, int) in libconcert.a(iloenv.o)
    __static_initialization_and_destruction_0(int, int) in libconcert.a(iloextractable.o)
    __static_initialization_and_destruction_0(int, int) in libconcert.a(iloallocator.o)
    __static_initialization_and_destruction_0(int, int) in libilocplex.a(ilocplex.o)
    __static_initialization_and_destruction_0(int, int) in libconcert.a(iloalg.o)
    __static_initialization_and_destruction_0(int, int) in libconcert.a(ilotypes.o)
    ...
    "std::ios_base::Init::~Init()", referenced from:
    ___tcf_0 in libconcert.a(iloexpression.o)
    ___tcf_0 in libconcert.a(iloenv.o)
    ___tcf_0 in libconcert.a(iloextractable.o)
    ___tcf_0 in libconcert.a(iloallocator.o)
    ___tcf_0 in libilocplex.a(ilocplex.o)
    ___tcf_0 in libconcert.a(iloalg.o)
    ___tcf_0 in libconcert.a(ilotypes.o)
    ...
    "std::ios_base::ios_base()", referenced from:
    IloNullStream::IloNullStream(std::basic_streambuf<char, std::char_traits<char> >&) in libconcert.a(iloenv.o)
    "std::ios_base::~ios_base()", referenced from:
    IloNullStream::IloNullStream(std::basic_streambuf<char, std::char_traits<char> >&) in libconcert.a(iloenv.o)
    IloEnvI::IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    IloNullStream::~IloNullStream() in libconcert.a(iloenv.o)
    IloNullStream::~IloNullStream() in libconcert.a(iloenv.o)
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    ...
    "std::basic_ios<char, std::char_traits<char> >::init(std::basic_streambuf<char, std::char_traits<char> >*)", referenced from:
    IloNullStream::IloNullStream(std::basic_streambuf<char, std::char_traits<char> >&) in libconcert.a(iloenv.o)
    IloNullStream::IloNullStream(std::basic_streambuf<char, std::char_traits<char> >&) in libconcert.a(iloenv.o)
    "std::cerr", referenced from:
    IloEnvI::IloEnvI() in libconcert.a(iloenv.o)
    IloCplexI::inconsistency(int) in libilocplex.a(ilocplex.o)
    IloAlgorithmI::IloAlgorithmI(IloEnvI*) in libconcert.a(iloalg.o)
    "std::cout", referenced from:
    IloEnvI::IloEnvI() in libconcert.a(iloenv.o)
    IloAlgorithmI::IloAlgorithmI(IloEnvI*) in libconcert.a(iloalg.o)
    IloAnyEqCstI::display(std::ostream&) const in libconcert.a(iloanyexpr.o)
    IloRandomStateI::display(std::ostream&) const in libconcert.a(ilorandom.o)
    "std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)", referenced from:
    IloIntVarDomainI::display(std::ostream&) in libconcert.a(iloexpression.o)
    IloSemiContVarI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloConversionI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloIntArrayElementI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    std::ostream& operator<<<double>(std::ostream&, IloArray<double> const&) in libconcert.a(iloexpression.o)
    std::ostream& operator<<<IloExtractable>(std::ostream&, IloArray<IloExtractable> const&) in libconcert.a(iloexpression.o)
    IloEnvI::printTime() const in libconcert.a(iloenv.o)
    ...
    "std::basic_ostream<char, std::char_traits<char> >& std::flush<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)", referenced from:
    _IloCplexWarningChannelFunction in libilocplex.a(ilocplex.o)
    _IloCplexLogChannelFunction in libilocplex.a(ilocplex.o)
    "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)", referenced from:
    IloSymbolI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloComprehensionI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloConstConstraintI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloMonotonicNumExprI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloBoolVarDomainI::display(std::ostream&) in libconcert.a(iloexpression.o)
    IloSinI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    IloCosI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    ...
    "std::basic_ostream<char, std::char_traits<char> >& std::operator<<<std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char)", referenced from:
    IloIntVarDomainI::display(std::ostream&) in libconcert.a(iloexpression.o)
    IloIntArrayElementI::display(std::ostream&) const in libconcert.a(iloexpression.o)
    std::ostream& operator<<<double>(std::ostream&, IloArray<double> const&) in libconcert.a(iloexpression.o)
    std::ostream& operator<<<IloExtractable>(std::ostream&, IloArray<IloExtractable> const&) in libconcert.a(iloexpression.o)
    IloMultiCriterionExprI::display(std::ostream&) in libconcert.a(iloextractable.o)
    IloSOS1I::display(std::ostream&) const in libconcert.a(iloextractable.o)
    IloSOS2I::display(std::ostream&) const in libconcert.a(iloextractable.o)
    ...
    "typeinfo for std::ostream", referenced from:
    construction vtable for std::ostream-in-IloNullStream in libconcert.a(iloenv.o)
    typeinfo for IloNullStream in libconcert.a(iloenv.o)
    "typeinfo for std::basic_streambuf<char, std::char_traits<char> >", referenced from:
    typeinfo for IloPrivateBuf in libconcert.a(iloenv.o)
    "VTT for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloDataCollection::ImmutableException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloOperatorException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    "vtable for std::basic_streambuf<char, std::char_traits<char> >", referenced from:
    IloEnvI::IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    vtable for IloNamedPropertySet::NotPresent in libconcert.a(iloenv.o)
    IloPrivateBuf::~IloPrivateBuf() in libconcert.a(iloenv.o)
    IloPrivateBuf::~IloPrivateBuf() in libconcert.a(iloenv.o)
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    ...
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
    "vtable for std::basic_stringbuf<char, std::char_traits<char>, std::allocator<char> >", referenced from:
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloDataCollection::ImmutableException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloOperatorException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
    "vtable for std::basic_ostringstream<char, std::char_traits<char>, std::allocator<char> >", referenced from:
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    IloIndexOutOfBoundsException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloDataCollection::ImmutableException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    IloOperatorException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getOperatorName() const in libconcert.a(ilocollectionstruct.o)
    IloFirstLastElementNotFoundException::getMessage() const in libconcert.a(ilocollectionstruct.o)
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
    "vtable for std::basic_ios<char, std::char_traits<char> >", referenced from:
    IloNullStream::IloNullStream(std::basic_streambuf<char, std::char_traits<char> >&) in libconcert.a(iloenv.o)
    IloEnvI::IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    IloEnvI::~IloEnvI() in libconcert.a(iloenv.o)
    IloNullStream::~IloNullStream() in libconcert.a(iloenv.o)
    IloNullStream::~IloNullStream() in libconcert.a(iloenv.o)
    IloModelEvaluator::Unbound::getMessage() const in libconcert.a(evaluator.o)
    ...
    NOTE: a missing vtable usually means the first non-inline virtual member function has no definition.
    "non-virtual thunk to std::ostream::~std::ostream()", referenced from:
    construction vtable for std::ostream-in-IloNullStream in libconcert.a(iloenv.o)
    "non-virtual thunk to std::ostream::~std::ostream()", referenced from:
    construction vtable for std::ostream-in-IloNullStream in libconcert.a(iloenv.o)
    "operator<<(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, IloAlgorithm::Status)", referenced from:
    _main in example.o
    ld: symbol(s) not found for architecture x86_64
    clang: error: linker command failed with exit code 1 (use -v to see invocation)
    #CPLEXOptimizers
    #DecisionOptimization


  • 2.  Re: compiling c++ program using concert cplex

    Posted Sun February 24, 2013 07:34 AM

    Originally posted by: SystemAdmin


    You need to use g++ for compilation.
    clang is not officially supported for compiling CPLEX C++ applications and we have seen problems when using clang several times.
    #CPLEXOptimizers
    #DecisionOptimization