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 13:20:29 GMT

Timothy that definitely helps .... since i am new in both areas C++ and
ActiveMQ ... i am taking a little more time .... I understand link issues
are coming bcoz i just have the source code included and no library
attached.

The only problem is while accessing those svn code repository sites ... we
run into a firewall issue ... It would have been so nice if we would have
got a direct download of a zip file for all the codebase. Lets see, I need
to run through my network team to get the firewall access for this site. 

I will try to build the static library and then compile this ... 
Now my question is suppose that I am building a core code on top of which I
would like to generate multiple language (.net, java, python, c++ etc) code
using Swig, what approach would you suggest in that case. For now just to
run the sample I will follow the static library approach.

Please suggest.

thanks



Bish, Tim wrote:
> 
> 
>> That would b great as anybody starting with ActiveMQ with C++ is
> likely to
>> use this piece of code first.
> 
> Yup, it all comes down to time, a lot of us work on this in our spare
> time.  You are welcome to fix up the example code and submit a patch.
> 
>> 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.
> 
> Are you actually compiling the activemq-cpp code in your console projet?
> Or did you just add an include path to the code base?  You need to build
> the activemq-cpp code either as a Library, or as part of the application
> that you are creating, I'd suggest making a library.  If you install
> maven, you can build the library using the mvn package command, and just
> add the library into the linker settings / additional Libraries option.
> 
> 
> When you build the Library you should get an activemq-cpp.lib file that
> you can add.  
> 
> Does that help?
> 
> -----------------------------------------
> Timothy A. Bish
> ----------------------------------------- 
> 
> 
> 
>> -----Original Message-----
>> From: Lalit Nagpal [mailto:lalittechy@rediffmail.com]
>> Sent: Thursday, August 10, 2006 8:03 AM
>> To: activemq-users@geronimo.apache.org
>> Subject: RE: errors when compiling activemq cpp client
>> 
>> 
>> 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.
> 
> 
> 

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


Mime
View raw message