On Fri, 2011-01-21 at 07:36 -0800, andreas.meinecke wrote: > Am 21.01.2011 16:21, schrieb Timothy Bish [via ActiveMQ]: > > On Fri, 2011-01-21 at 07:15 -0800, andreas.meinecke wrote: > > > > > Am 21.01.2011 15:48, schrieb Timothy Bish [via ActiveMQ]: > > > > On Fri, 2011-01-21 at 06:40 -0800, andreas.meinecke wrote: > > > > > > > > > Am 21.01.2011 15:25, schrieb Timothy Bish [via ActiveMQ]: > > > > > > On Fri, 2011-01-21 at 06:18 -0800, andreas.meinecke wrote: > > > > > > > > > > > > > Hey all, > > > > > > > > > > > > > > i am trying to build the ActiveMQCpp libraries for windows > > x64 with > > > > > > vs2008. > > > > > > > > > > > > > > When i build it in debug mode x64, everything went fine > > until i try > > > > > > to link > > > > > > > the libactivemq-cppd.lib from an other project. Here i get > > about > > > > 600 > > > > > > > unresolved external symbol errors in libactivemq-cppd.lib. > > > > > > > > > > > > > > So i tried to build the DebugDLL configuration, but here i get > > > > about > > > > > > 1500 > > > > > > > unresolved external symbol errors during linking. > > > > > > > > > > > > > > Any hints? > > > > > > > > > > > > > > best regards, > > > > > > > Andreas > > > > > > > > > > > > Best thing to do is look at the settings in the example > > project to > > > > see > > > > > > how that is configured, you need to be linking in the apr and > > > > apr-util > > > > > > libs plus openssl if you enabled SSL. > > > > > > > > > > > > Regards > > > > > Hello Tim, > > > > > > > > > > many thanks for your very fast answer. I have compiled apr and > > apr-util > > > > > as well for windows x64 and yes, both libs are linked into the > > project. > > > > > But this is not solving my unresolved external symbol errors. > > > > > > > > > > Any other ideas? > > > > > > > > > > > > > What are some of the symbols that aren't being resolved? > > > > > > > > Have you examined the project settings for the examples provided > > by in > > > > the CMS package? > > > Here are some errors trying to link libativemq-cppd.lib into my > > project : > > > 1>libactivemq-cppd.lib(Network.obj) : error LNK2019: unresolved > > external > > > symbol "public: virtual __cdecl > > > > > decaf::internal::util::ResourceLifecycleManager::~ResourceLifecycleManager(void)" > > > > > > > (??1ResourceLifecycleManager@util@internal@decaf@@UEAA@XZ) > > referenced in > > > function "int `public: __cdecl > > > decaf::internal::net::NetworkData::NetworkData(void)'::`1'::dtor$0" > > > (?dtor$0@?0???0NetworkData@net@internal@decaf@@QEAA@XZ@4HA) > > > 1>libactivemq-cppd.lib(Network.obj) : error LNK2019: unresolved > > external > > > symbol "public: __cdecl > > > > > decaf::internal::util::ResourceLifecycleManager::ResourceLifecycleManager(void)" > > > > > > > (??0ResourceLifecycleManager@util@internal@decaf@@QEAA@XZ) > > referenced in > > > function "public: __cdecl > > > decaf::internal::net::NetworkData::NetworkData(void)" > > > (??0NetworkData@net@internal@decaf@@QEAA@XZ) > > > 1>libactivemq-cppd.lib(ActiveMQMapMessage.obj) : error LNK2019: > > > unresolved external symbol "public: virtual void __cdecl > > > activemq::commands::Message::afterUnmarshal(class > > > activemq::wireformat::WireFormat *)" > > > > > (?afterUnmarshal@Message@commands@activemq@@UEAAXPEAVWireFormat@wireformat@3@@Z) > > > > > > > referenced in function "int `public: virtual float __cdecl > > > activemq::commands::ActiveMQMapMessage::getFloat(class > > > std::basic_string<char,struct std::char_traits<char>,class > > > std::allocator<char> > const &)const '::`1'::catch$12" > > > > > (?catch$12@?0??getFloat@ActiveMQMapMessage@commands@activemq@@UEBAMAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z@4HA) > > > 1>libactivemq-cppd.lib(ActiveMQBlobMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual void __cdecl > > > activemq::commands::Message::afterUnmarshal(class > > > activemq::wireformat::WireFormat *)" > > > > > (?afterUnmarshal@Message@commands@activemq@@UEAAXPEAVWireFormat@wireformat@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQObjectMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual void __cdecl > > > activemq::commands::Message::afterUnmarshal(class > > > activemq::wireformat::WireFormat *)" > > > > > (?afterUnmarshal@Message@commands@activemq@@UEAAXPEAVWireFormat@wireformat@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQTextMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual void __cdecl > > > activemq::commands::Message::afterUnmarshal(class > > > activemq::wireformat::WireFormat *)" > > > > > (?afterUnmarshal@Message@commands@activemq@@UEAAXPEAVWireFormat@wireformat@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQBytesMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual void __cdecl > > > activemq::commands::Message::afterUnmarshal(class > > > activemq::wireformat::WireFormat *)" > > > > > (?afterUnmarshal@Message@commands@activemq@@UEAAXPEAVWireFormat@wireformat@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQMessage.obj) : error LNK2001: unresolved > > > external symbol "public: virtual void __cdecl > > > activemq::commands::Message::afterUnmarshal(class > > > activemq::wireformat::WireFormat *)" > > > > > (?afterUnmarshal@Message@commands@activemq@@UEAAXPEAVWireFormat@wireformat@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQStreamMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual void __cdecl > > > activemq::commands::Message::afterUnmarshal(class > > > activemq::wireformat::WireFormat *)" > > > > > (?afterUnmarshal@Message@commands@activemq@@UEAAXPEAVWireFormat@wireformat@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQMapMessage.obj) : error LNK2019: > > > unresolved external symbol "public: virtual class > > > decaf::lang::Pointer<class activemq::commands::Command,class > > > decaf::util::concurrent::atomic::AtomicRefCounter> __cdecl > > > activemq::commands::Message::visit(class > > activemq::state::CommandVisitor > > > *)" > > > > > (?visit@Message@commands@activemq@@UEAA?AV?$Pointer@VCommand@commands@activemq@@VAtomicRefCounter@atomic@concurrent@util@decaf@@@lang@decaf@@PEAVCommandVisitor@state@3@@Z) > > > > > > > referenced in function "int `public: virtual float __cdecl > > > activemq::commands::ActiveMQMapMessage::getFloat(class > > > std::basic_string<char,struct std::char_traits<char>,class > > > std::allocator<char> > const &)const '::`1'::catch$13" > > > > > (?catch$13@?0??getFloat@ActiveMQMapMessage@commands@activemq@@UEBAMAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z@4HA) > > > 1>libactivemq-cppd.lib(ActiveMQBlobMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual class > > > decaf::lang::Pointer<class activemq::commands::Command,class > > > decaf::util::concurrent::atomic::AtomicRefCounter> __cdecl > > > activemq::commands::Message::visit(class > > activemq::state::CommandVisitor > > > *)" > > > > > (?visit@Message@commands@activemq@@UEAA?AV?$Pointer@VCommand@commands@activemq@@VAtomicRefCounter@atomic@concurrent@util@decaf@@@lang@decaf@@PEAVCommandVisitor@state@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQObjectMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual class > > > decaf::lang::Pointer<class activemq::commands::Command,class > > > decaf::util::concurrent::atomic::AtomicRefCounter> __cdecl > > > activemq::commands::Message::visit(class > > activemq::state::CommandVisitor > > > *)" > > > > > (?visit@Message@commands@activemq@@UEAA?AV?$Pointer@VCommand@commands@activemq@@VAtomicRefCounter@atomic@concurrent@util@decaf@@@lang@decaf@@PEAVCommandVisitor@state@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQTextMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual class > > > decaf::lang::Pointer<class activemq::commands::Command,class > > > decaf::util::concurrent::atomic::AtomicRefCounter> __cdecl > > > activemq::commands::Message::visit(class > > activemq::state::CommandVisitor > > > *)" > > > > > (?visit@Message@commands@activemq@@UEAA?AV?$Pointer@VCommand@commands@activemq@@VAtomicRefCounter@atomic@concurrent@util@decaf@@@lang@decaf@@PEAVCommandVisitor@state@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQBytesMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual class > > > decaf::lang::Pointer<class activemq::commands::Command,class > > > decaf::util::concurrent::atomic::AtomicRefCounter> __cdecl > > > activemq::commands::Message::visit(class > > activemq::state::CommandVisitor > > > *)" > > > > > (?visit@Message@commands@activemq@@UEAA?AV?$Pointer@VCommand@commands@activemq@@VAtomicRefCounter@atomic@concurrent@util@decaf@@@lang@decaf@@PEAVCommandVisitor@state@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQMessage.obj) : error LNK2001: unresolved > > > external symbol "public: virtual class decaf::lang::Pointer<class > > > activemq::commands::Command,class > > > decaf::util::concurrent::atomic::AtomicRefCounter> __cdecl > > > activemq::commands::Message::visit(class > > activemq::state::CommandVisitor > > > *)" > > > > > (?visit@Message@commands@activemq@@UEAA?AV?$Pointer@VCommand@commands@activemq@@VAtomicRefCounter@atomic@concurrent@util@decaf@@@lang@decaf@@PEAVCommandVisitor@state@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQStreamMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual class > > > decaf::lang::Pointer<class activemq::commands::Command,class > > > decaf::util::concurrent::atomic::AtomicRefCounter> __cdecl > > > activemq::commands::Message::visit(class > > activemq::state::CommandVisitor > > > *)" > > > > > (?visit@Message@commands@activemq@@UEAA?AV?$Pointer@VCommand@commands@activemq@@VAtomicRefCounter@atomic@concurrent@util@decaf@@@lang@decaf@@PEAVCommandVisitor@state@3@@Z) > > > 1>libactivemq-cppd.lib(ActiveMQMapMessage.obj) : error LNK2019: > > > unresolved external symbol "public: virtual bool __cdecl > > > activemq::commands::Message::isExpired(void)const " > > > (?isExpired@Message@commands@activemq@@UEBA_NXZ) referenced in function > > > "int `public: virtual float __cdecl > > > activemq::commands::ActiveMQMapMessage::getFloat(class > > > std::basic_string<char,struct std::char_traits<char>,class > > > std::allocator<char> > const &)const '::`1'::catch$15" > > > > > (?catch$15@?0??getFloat@ActiveMQMapMessage@commands@activemq@@UEBAMAEBV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z@4HA) > > > 1>libactivemq-cppd.lib(ActiveMQBlobMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual bool __cdecl > > > activemq::commands::Message::isExpired(void)const " > > > (?isExpired@Message@commands@activemq@@UEBA_NXZ) > > > 1>libactivemq-cppd.lib(ActiveMQObjectMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual bool __cdecl > > > activemq::commands::Message::isExpired(void)const " > > > (?isExpired@Message@commands@activemq@@UEBA_NXZ) > > > 1>libactivemq-cppd.lib(ActiveMQTextMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual bool __cdecl > > > activemq::commands::Message::isExpired(void)const " > > > (?isExpired@Message@commands@activemq@@UEBA_NXZ) > > > 1>libactivemq-cppd.lib(ActiveMQBytesMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual bool __cdecl > > > activemq::commands::Message::isExpired(void)const " > > > (?isExpired@Message@commands@activemq@@UEBA_NXZ) > > > 1>libactivemq-cppd.lib(ActiveMQMessage.obj) : error LNK2001: unresolved > > > external symbol "public: virtual bool __cdecl > > > activemq::commands::Message::isExpired(void)const " > > > (?isExpired@Message@commands@activemq@@UEBA_NXZ) > > > 1>libactivemq-cppd.lib(ActiveMQStreamMessage.obj) : error LNK2001: > > > unresolved external symbol "public: virtual bool __cdecl > > > activemq::commands::Message::isExpired(void)const " > > > (?isExpired@Message@commands@activemq@@UEBA_NXZ) > > > ... > > > > > > Yes, i have checked the settings in the examples included in the > > > activemq-cpp vs2008 project and my settings are the same. > > > > > > best regards, > > > Andreas > > > > > > > There's clearly something wrong with the amq library build or you are > > attempting to link a 64bit aoo with a 32bit build of the lib, you should > > double check what you built for ActiveMQ-CPP and ensure that you built > > the x64 versions of the libraries. > > > I have resetup my build environment and now only one external symbol is > left unresolved > ""public: virtual __cdecl cms::MessageListener::~MessageListener(void)" > (??1MessageListener@cms@@UEAA@XZ)" > > So it seems that you are right and something was definitive wrong with > local build setup. > > Any idea about the one left error? > > best regards, > Andreas
Probably good to double check that the MessageListener.h is included in the project files. Unsure what else would cause that one symbol to not be included. Regards -- Tim Bish ------------ FuseSource Email: [email protected] Web: http://fusesource.com Twitter: tabish121 Blog: http://timbish.blogspot.com/
