Linker errors building with Borland C++ Builder

in Help Center
Hi everyone,
I'm trying to build the sample application on BCB and am getting the linker errors below. It seems to be that this has got something to do with STLPort redefining 'std'; I've tried defining _STLP_DONT_REDEFINE_STD but then I got a host of errors saying 'ostream is not a member of std' and the like.
Any clues?
tks - Adrian.
Error Linking IceTest.exe: 0 Lines , 3 Warning(s) , 13 Error(s) , 30/12/1899 00:00:00 [0.341s]
[Linker Error] Unresolved external 'IceUtil::Exception::ice_print(_STL::basic_ostream<char, _STL::char_traits<char> >&) const' referenced from ...\DEVWORK\ICE\ICETEST.OBJ
[Linker Error] Unresolved external 'Ice::Object::ice_isA(const _STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> >&, const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_clone() const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_isA(const _STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> >&, const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_ids(const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_id(const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__dispatch(IceInternal::Incoming&, const Ice::Current&)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__write(IceInternal::BasicStream *) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__read(IceInternal::BasicStream *, bool)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__write(const IceInternal::Handle<Ice::OutputStream>&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__read(const IceInternal::Handle<Ice::InputStream>&, bool)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::PrinterI::printString(const _STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> >&, const Ice::Current&)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'IceUtil::operator <<(_STL::basic_ostream<char, _STL::char_traits<char> >&, const IceUtil::Exception&)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Warning] Public symbol 'IceInternal::ProxyHandle<IceProxy::Ice::Object> IceInternal::checkedCastImpl<IceInternal::ProxyHandle<IceProxy::Ice::Object> >(const IceInternal::ProxyHandle<IceProxy::Ice::Object>&)' defined in both module ...\DEVWORK\ICE\ICETEST.OBJ and ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Warning] Public symbol 'IceInternal::checkedCastImpl<IceInternal::ProxyHandle<IceProxy::Ice::Object> >(const IceInternal::ProxyHandle<IceProxy::Ice::Object>&, ...' defined in both module ...\DEVWORK\ICE\ICETEST.OBJ and ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Warning] Public symbol 'IceInternal::ProxyHandle<IceProxy::Ice::Object> IceInternal::uncheckedCastImpl<IceInternal::ProxyHandle<IceProxy::Ice::Object> >(const IceInternal::ProxyHandle<IceProxy::Ice::Object>&)' defined in both module ...\DEVWORK\ICE\ICETEST.OBJ and ...\DEVWORK\ICE\MAINFRM.OBJ
I'm trying to build the sample application on BCB and am getting the linker errors below. It seems to be that this has got something to do with STLPort redefining 'std'; I've tried defining _STLP_DONT_REDEFINE_STD but then I got a host of errors saying 'ostream is not a member of std' and the like.
Any clues?
tks - Adrian.
Error Linking IceTest.exe: 0 Lines , 3 Warning(s) , 13 Error(s) , 30/12/1899 00:00:00 [0.341s]
[Linker Error] Unresolved external 'IceUtil::Exception::ice_print(_STL::basic_ostream<char, _STL::char_traits<char> >&) const' referenced from ...\DEVWORK\ICE\ICETEST.OBJ
[Linker Error] Unresolved external 'Ice::Object::ice_isA(const _STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> >&, const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_clone() const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_isA(const _STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> >&, const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_ids(const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::ice_id(const Ice::Current&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__dispatch(IceInternal::Incoming&, const Ice::Current&)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__write(IceInternal::BasicStream *) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__read(IceInternal::BasicStream *, bool)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__write(const IceInternal::Handle<Ice::OutputStream>&) const' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::Printer::__read(const IceInternal::Handle<Ice::InputStream>&, bool)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'Demo::PrinterI::printString(const _STL::basic_string<char, _STL::char_traits<char>, _STL::allocator<char> >&, const Ice::Current&)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Error] Unresolved external 'IceUtil::operator <<(_STL::basic_ostream<char, _STL::char_traits<char> >&, const IceUtil::Exception&)' referenced from ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Warning] Public symbol 'IceInternal::ProxyHandle<IceProxy::Ice::Object> IceInternal::checkedCastImpl<IceInternal::ProxyHandle<IceProxy::Ice::Object> >(const IceInternal::ProxyHandle<IceProxy::Ice::Object>&)' defined in both module ...\DEVWORK\ICE\ICETEST.OBJ and ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Warning] Public symbol 'IceInternal::checkedCastImpl<IceInternal::ProxyHandle<IceProxy::Ice::Object> >(const IceInternal::ProxyHandle<IceProxy::Ice::Object>&, ...' defined in both module ...\DEVWORK\ICE\ICETEST.OBJ and ...\DEVWORK\ICE\MAINFRM.OBJ
[Linker Warning] Public symbol 'IceInternal::ProxyHandle<IceProxy::Ice::Object> IceInternal::uncheckedCastImpl<IceInternal::ProxyHandle<IceProxy::Ice::Object> >(const IceInternal::ProxyHandle<IceProxy::Ice::Object>&)' defined in both module ...\DEVWORK\ICE\ICETEST.OBJ and ...\DEVWORK\ICE\MAINFRM.OBJ
0
Comments
Hi,
Ok - I did that; I've now updated my signature.
Will my query be considered now?
If you have any further questions, please add the name of your organization and your Ice project to your signature. Please see this post for details.
The STL that comes packaged with C++ Builder 6 *is* STLPort. It is the default STL used unless otherwise specified. You can use the old Rogue Wave library by defining 'USE_OLD_RW_STL'. When I did that, the project built fine, but I kept getting an access violation in the 'Ice::initialize(argc, argv)' function call.
I then thought I'd try using the STLPort stl instead; but I ran into the build problems I mentioned earlier.
Tks - Adrian.
Hi Marc,
I'm only evaluating ICE at the moment in my own free time and not as part of any initiative by my current company. There is no specific, ongoing ICE project at the moment - I'm currrently just evaluating it on a personal level because I like to keep abreast of new technologies, particularly middle-ware; if I'm sufficiently impressed, I will influence decisions on the choice of middle-ware for future projects.
I'm very familiar with CORBA (through ACE+TAO) - been using it for 8+ years now - and I've now come across ICE (which I'm very impressed with so far) which seems to me to be what CORBA should have been from the start.
Anyway, since I cannot update my signature to your requirements, I guess I should refrain from posting any issues/queries to this forum.
Thanks for your help anyway.
Hi,
I've actually updated my signature now.
Tks - Adrian.
Yes - you're right. All works fine under Turbo C++.
Thanks for you help.