activemq-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Timothy Bish <tabish...@gmail.com>
Subject Re: Building ActiveMQCpp 3.2.4 on Windows 7 x64
Date Fri, 21 Jan 2011 15:45:28 GMT
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: tim.bish@fusesource.com
Web: http://fusesource.com
Twitter: tabish121
Blog: http://timbish.blogspot.com/



Mime
View raw message