You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@activemq.apache.org by Timothy Bish <ta...@gmail.com> on 2008/12/08 15:36:52 UTC

Re: Unresolved externals when building ActiveMQ CMS 2.2.2 DLL with Visual Studio 9 (2008) / Vista

You aren't doing anything wrong, the unit tests aren't currently meant
to be built against the DLL version of the library.  This will be fixed
in the next release.  I'm not sure if it gets preserved in the the
conversion from 2005 to 2008 but the 2005 project has the unit test and
integration test configurations disabled for the DebugDLL and ReleaseDLL
builds.

Regards
Tim.


On Mon, 2008-12-08 at 06:30 -0800, Richard Glanmark wrote:
> I'm trying to build the ActiveMQ CMS 2.2.2 on Vista with Visual Studio 2008
> (Team Edition). 
> 
> Building the unit test (vs2005-activemq-unittests) "Debug" configuration
> works fine, and so is running the unit tests.
> 
> However, when building the unit test "DebugDLL" configuration, I get several
> thousand unresolved externals.
> 
> Among others:
> 
> 1>activemq-cppd.lib(activemq-cppd.dll) : error LNK2005: "public: virtual
> class std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > __thiscall
> activemq::connector::stomp::StompDestination<class
> cms::Topic>::toProviderString(void)const "
> (?toProviderString@?$StompDestination@VTopic@cms@@@stomp@connector@activemq@@UBE?AV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@XZ)
> already defined in StompDestinationTest.obj
> 1>   Creating library
> C:\working\apache\activemq-cpp-2.2.2-src\vs2005-build\DebugDLL\vs2005-activemq-unittests.lib
> and object
> C:\working\apache\activemq-cpp-2.2.2-src\vs2005-build\DebugDLL\vs2005-activemq-unittests.exp
> 1>ActiveMQBytesMessageTest.obj : error LNK2019: unresolved external symbol
> "public: virtual void __thiscall
> activemq::connector::openwire::commands::ActiveMQBytesMessage::writeString(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?writeString@ActiveMQBytesMessage@commands@openwire@connector@activemq@@UAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
> referenced in function
> __catch$?test@ActiveMQBytesMessageTest@commands@openwire@connector@activemq@@QAEXXZ$0
> 1>ActiveMQBytesMessageMarshallerTest.obj : error LNK2001: unresolved
> external symbol "public: virtual void __thiscall
> activemq::connector::openwire::commands::ActiveMQBytesMessage::writeString(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?writeString@ActiveMQBytesMessage@commands@openwire@connector@activemq@@UAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
> 1>ActiveMQBytesMessageMarshallerTest1.obj : error LNK2001: unresolved
> external symbol "public: virtual void __thiscall
> activemq::connector::openwire::commands::ActiveMQBytesMessage::writeString(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?writeString@ActiveMQBytesMessage@commands@openwire@connector@activemq@@UAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
> 1>ActiveMQBytesMessageMarshallerTest2.obj : error LNK2001: unresolved
> external symbol "public: virtual void __thiscall
> activemq::connector::openwire::commands::ActiveMQBytesMessage::writeString(class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &)"
> (?writeString@ActiveMQBytesMessage@commands@openwire@connector@activemq@@UAEXABV?$basic_string@DU?$char_traits@D@std@@V?$allocator@D@2@@std@@@Z)
> 1>ActiveMQBytesMessageTest.obj : error LNK2019: unresolved external symbol
> "public: virtual void __thiscall
> activemq::connector::openwire::commands::ActiveMQBytesMessage::writeLong(__int64)"
> (?writeLong@ActiveMQBytesMessage@commands@openwire@connector@activemq@@UAEX_J@Z)
> referenced in function
> __catch$?test@ActiveMQBytesMessageTest@commands@openwire@connector@activemq@@QAEXXZ$0
> 1>ActiveMQBytesMessageMarshallerTest.obj : error LNK2001: unresolved
> external symbol "public: virtual void __thiscall
> activemq::connector::openwire::commands::ActiveMQBytesMessage::writeLong(__int64)"
> (?writeLong@ActiveMQBytesMessage@commands@openwire@connector@activemq@@UAEX_J@Z)
> 
> What is wrong? 
> 
> Cheers,
> 
> 

-- 
Tim Bish
http://fusesource.com
http://timbish.blogspot.com/