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 " > ([EMAIL PROTECTED]@[EMAIL PROTECTED]@@@[EMAIL PROTECTED]@activemq@@[EMAIL > PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@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 &)" > ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL > PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@2@@std@@@Z) > referenced in function > [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@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 &)" > ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL > PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@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 &)" > ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL > PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@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 &)" > ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL > PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]@2@@std@@@Z) > 1>ActiveMQBytesMessageTest.obj : error LNK2019: unresolved external symbol > "public: virtual void __thiscall > activemq::connector::openwire::commands::ActiveMQBytesMessage::writeLong(__int64)" > ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]) > referenced in function > [EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@QAEXXZ$0 > 1>ActiveMQBytesMessageMarshallerTest.obj : error LNK2001: unresolved > external symbol "public: virtual void __thiscall > activemq::connector::openwire::commands::ActiveMQBytesMessage::writeLong(__int64)" > ([EMAIL PROTECTED]@[EMAIL PROTECTED]@[EMAIL PROTECTED]@@[EMAIL PROTECTED]) > > What is wrong? > > Cheers, > > -- Tim Bish http://fusesource.com http://timbish.blogspot.com/