activemq-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Lalit Nagpal <lalitte...@rediffmail.com>
Subject RE: errors when compiling activemq cpp client
Date Thu, 10 Aug 2006 12:03:13 GMT

Tim-

That would b great as anybody starting with ActiveMQ with C++ is likely to
use this piece of code first.
I am using Microsoft Visual Studio .Net 2003 and created a windows console
application (empty project) .... I included the activemq directory in my
project with the following setting actually ...  In the property pages ->
C/C++ (see in left tab) -> General -> Additional Include Directories .....
here i specified the activemq-cpp\src\main directory which contains the
activemq and cms directories in it. So if i say goto declaration the IDE
takes me to the classes but dont know why i run into these linking problems.

Thanks for all the support 

Lalit ....




Bish, Tim wrote:
> 
>> 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.
> 
> 
> 

-- 
View this message in context: http://www.nabble.com/errors-when-compiling-activemq-cpp-client-tf2072610.html#a5742880
Sent from the ActiveMQ - User forum at Nabble.com.


Mime
View raw message