activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Bish, Tim" <Tim.B...@Sensis.com>
Subject RE: errors when compiling activemq cpp client
Date Thu, 10 Aug 2006 11:14:29 GMT
> Tim I think the problem is something else ...
> I was able to resolve some of the errors in the sample code given ...
> example :
> AutoAcknowledge problem is resolved if you use
Session::AUTO_ACKNOWLEDGE
> instead. It compiles then.
> The virtual function void onMessage(const Message &message) is given
in
> the
> example whereas expected implementation in this code is void
> onMessage(const
> Message *message)

We did some minor code cleanup in activemq-cpp to make the interfaces
all more consistent.  As a result of these changes some of the code in
the example in no longer valid.  It should be a simple thing to fix the
compiler errors, which it seems you did.  The link errors are saying
that the functions from the Thread class are no being resolved from the
Library, are you sure that your VC2003 project is building all those
classes and linking them in.  

Hopefully by the weekend, when I have a little free time, I will have
SVN access, and I can check in a cleaned up version of the example.  I
also think I can get access to a copy of VC2003 so when I get time I
will try and create a VC2003 project; it won't completely solve the
problem as those project files have hard coded paths in them.

-----------------------------------------
Timothy A. Bish
----------------------------------------- 



> -----Original Message-----
> From: Lalit Nagpal [mailto:lalittechy@rediffmail.com]
> Sent: Thursday, August 10, 2006 2:29 AM
> To: activemq-users@geronimo.apache.org
> Subject: Re: errors when compiling activemq cpp client
> 
> 
> 
> Lalit Nagpal wrote:
> >
> > I ran into all these errors when trying to compile the ActiveMQ C++
> client
> > ...
> >
> > error C2039: 'AutoAcknowledge' : is not a member of 'cms::Session'
> > e:\CPP\activemq-cpp\src\main\cms\Session.h(36) : see declaration of
> > 'cms::Session'
> > error C2039: 'NONPERSISTANT' : is not a member of 'cms::Message'
> >  e:\CPP\activemq-cpp\src\main\cms\Message.h(33) : see declaration of
> > 'cms::Message'
> > error C2065: 'AutoAcknowledge' : undeclared identifier
> > error C2065: 'NONPERSISTANT' : undeclared identifier
> > error C2259: 'HelloWorldConsumer' : cannot instantiate abstract
class
> > due to following members: 'void
cms::MessageListener::onMessage(const
> > cms::Message *)' : pure virtual function was not defined
> > e:\CPP\activemq-cpp\src\main\cms\MessageListener.h(46) : see
declaration
> > of 'cms::MessageListener::onMessage'
> > error C2664: 'cms::Session::createProducer' : cannot convert
parameter 1
> > from 'cms::Destination' to 'const cms::Destination *' No
> > user-defined-conversion operator available that can perform this
> > conversion, or the operator cannot be called
> > error C2664: 'void cms::MessageProducer::send(cms::Message *)
> > throw(cms::CMSException)' : cannot convert parameter 1 from
> > 'cms::TextMessage' to 'cms::Message *'
> > No user-defined-conversion operator available that can perform this
> > conversion, or the operator cannot be called
> >
> > I specified the activemq-cpp\src\main in the project settings
> > (Configuration Properties -> C/C++ -> General ->Additional Include
> > Directories) so that it is possible for the compiler to get all the
> > include files from this base directory.
> >
> > Still I ran into all the errors stated above, am i using a wrong
version
> > or something.
> >
> >
> >
> 
> Tim I think the problem is something else ...
> I was able to resolve some of the errors in the sample code given ...
> example :
> AutoAcknowledge problem is resolved if you use
Session::AUTO_ACKNOWLEDGE
> instead. It compiles then.
> The virtual function void onMessage(const Message &message) is given
in
> the
> example whereas expected implementation in this code is void
> onMessage(const
> Message *message)
> 
> Despite resolving these ... I run into the following probs now ...
linking
> errors
> 
> activemqlib error LNK2019: unresolved external symbol "public:
__thiscall
> activemq::concurrent::Thread::Thread(class
activemq::concurrent::Runnable
> *)" (??0Thread@concurrent@activemq@@QAE@PAVRunnable@12@@Z) referenced
in
> function _main
> activemqlib error LNK2019: unresolved external symbol "public:
__thiscall
>
activemq::core::ActiveMQConnectionFactory::ActiveMQConnectionFactory(cla
ss
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > const &,class
> std::basic_string<char,struct std::char_traits<char>,class
> std::allocator<char> > const &,class std::basic_string<char,struct
> std::char_traits<char>,class std::allocator<char> > const &)"
>
(??0ActiveMQConnectionFactory@core@activemq@@QAE@ABV?$basic_string@DU?$c
ha
> r_traits@D@std@@V?$allocator@D@2@@std@@000@Z)
> referenced in function "public: virtual void __thiscall
> HelloWorldProducer::run(void)" (?run@HelloWorldProducer@@UAEXXZ)
> activemqlib error LNK2019: unresolved external symbol "public: static
> unsigned long __cdecl activemq::concurrent::Thread::getId(void)"
> (?getId@Thread@concurrent@activemq@@SAKXZ) referenced in function
"public:
> virtual void __thiscall HelloWorldProducer::run(void)"
> (?run@HelloWorldProducer@@UAEXXZ)
> activemqlib error LNK2019: unresolved external symbol "public: static
void
> __cdecl activemq::concurrent::Thread::sleep(int)"
> (?sleep@Thread@concurrent@activemq@@SAXH@Z) referenced in function
> "public:
> virtual void __thiscall HelloWorldConsumer::run(void)"
> (?run@HelloWorldConsumer@@UAEXXZ)
> activemqlib error LNK2019: unresolved external symbol "public: virtual
> __thiscall activemq::concurrent::Thread::~Thread(void)"
> (??1Thread@concurrent@activemq@@UAE@XZ) referenced in function _main
> activemqlib error LNK2019: unresolved external symbol "public: virtual
> void
> __thiscall activemq::concurrent::Thread::join(void)"
> (?join@Thread@concurrent@activemq@@UAEXXZ) referenced in function
_main
> activemqlib error LNK2019: unresolved external symbol "public: virtual
> void
> __thiscall activemq::concurrent::Thread::start(void)"
> (?start@Thread@concurrent@activemq@@UAEXXZ) referenced in function
_main
> 
> --
> View this message in context:
http://www.nabble.com/errors-when-compiling-
> activemq-cpp-client-tf2072610.html#a5739020
> Sent from the ActiveMQ - User forum at Nabble.com.


Mime
View raw message