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 12:48:04 GMT

> 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.


Mime
View raw message