Author |
Message
|
nageshr99 |
Posted: Tue Jun 20, 2017 2:53 am Post subject: How to get IBM Websphere MQ(message Queue) libraries |
|
|
Novice
Joined: 30 May 2017 Posts: 24
|
Hi,
I have a query:
How to get IBM Websphere MQ(message Queue) C++ libraries from IBM website?
We need C++ libraries for windows and linux.
Thanks. |
|
Back to top |
|
 |
hughson |
Posted: Tue Jun 20, 2017 3:11 am Post subject: Re: How to get IBM Websphere MQ(message Queue) libraries |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
nageshr99 wrote: |
Hi,
I have a query:
How to get IBM Websphere MQ(message Queue) C++ libraries from IBM website?
We need C++ libraries for windows and linux.
Thanks. |
They are not in a separate place, they are part of the product. Just make sure you install the SDK which is not part of the default install. If you already have MQ installed you probably didn't install the SDK.
Cheers
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
nageshr99 |
Posted: Tue Jun 20, 2017 9:30 pm Post subject: Re: How to get IBM Websphere MQ(message Queue) libraries |
|
|
Novice
Joined: 30 May 2017 Posts: 24
|
hughson wrote: |
nageshr99 wrote: |
Hi,
I have a query:
How to get IBM Websphere MQ(message Queue) C++ libraries from IBM website?
We need C++ libraries for windows and linux.
Thanks. |
They are not in a separate place, they are part of the product. Just make sure you install the SDK which is not part of the default install. If you already have MQ installed you probably didn't install the SDK.
Cheers
Morag |
Thanks for the reply.
Do you mean to say IBM MQ C++ libraries will come along with IBM MQ explorer installation itself ? and we need to select SDK installation option as well while installing IBM MQ explorer?
Also one more question - We already have C++ .h,.lib,some .dll files as part of IBM MQ explorer installation.But we are getting some errors while compiling our sample C++ programs-hence we thought there would be some seperate MQ C++ library packs that we need to install.
Pls clarify.
Thanks. |
|
Back to top |
|
 |
hughson |
Posted: Tue Jun 20, 2017 11:29 pm Post subject: Re: How to get IBM Websphere MQ(message Queue) libraries |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
nageshr99 wrote: |
Do you mean to say IBM MQ C++ libraries will come along with IBM MQ explorer installation itself ? and we need to select SDK installation option as well while installing IBM MQ explorer? |
I don't think the SDK comes with the MQ Explorer installation. That only contains MQ Explorer. If you install the IBM MQ product itself (which is different to the MQ Explorer stand-alone download) you have the choice to install the SDK (and the MQ Explorer is also in there too).
nageshr99 wrote: |
Also one more question - We already have C++ .h,.lib,some .dll files as part of IBM MQ explorer installation.But we are getting some errors while compiling our sample C++ programs-hence we thought there would be some seperate MQ C++ library packs that we need to install. |
If you have some of it then you must have already installed the SDK.
Perhaps it would be easier if you gave us details of the problem that led you to ask the question initially and we will then be able to better help you. If the answer turns out to be that you are missing a part of the installation then we at least will know that is the problem.
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
mqjeff |
Posted: Wed Jun 21, 2017 4:28 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
You might also consider using the plain C API rather than the C++ api.
I believe the C++ api has been stabilized a while ago and doesn't support many of the features you might need, like channel username and password in the MQCONNX equivalent call... _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
gbaddeley |
Posted: Wed Jun 21, 2017 4:22 pm Post subject: |
|
|
 Jedi Knight
Joined: 25 Mar 2003 Posts: 2538 Location: Melbourne, Australia
|
There is also a Redistributable MQ Client installation image available, that does not require installation of MQ Client from the MQ Server or MQ Client images. _________________ Glenn |
|
Back to top |
|
 |
nageshr99 |
Posted: Wed Jun 21, 2017 8:21 pm Post subject: Re: How to get IBM Websphere MQ(message Queue) libraries |
|
|
Novice
Joined: 30 May 2017 Posts: 24
|
hughson wrote: |
nageshr99 wrote: |
Do you mean to say IBM MQ C++ libraries will come along with IBM MQ explorer installation itself ? and we need to select SDK installation option as well while installing IBM MQ explorer? |
I don't think the SDK comes with the MQ Explorer installation. That only contains MQ Explorer. If you install the IBM MQ product itself (which is different to the MQ Explorer stand-alone download) you have the choice to install the SDK (and the MQ Explorer is also in there too).
Cheers,
Morag |
Yes.We downloaded a package which contains MQ client,MQ server,Development kit,MQ Explorer,etc. We installed all components hence we got header files/lib files/etc already in our installation. |
|
Back to top |
|
 |
nageshr99 |
Posted: Wed Jun 21, 2017 8:43 pm Post subject: Re: How to get IBM Websphere MQ(message Queue) libraries |
|
|
Novice
Joined: 30 May 2017 Posts: 24
|
hughson wrote: |
nageshr99 wrote: |
Also one more question - We already have C++ .h,.lib,some .dll files as part of IBM MQ explorer installation.But we are getting some errors while compiling our sample C++ programs-hence we thought there would be some seperate MQ C++ library packs that we need to install. |
If you have some of it then you must have already installed the SDK.
Perhaps it would be easier if you gave us details of the problem that led you to ask the question initially and we will then be able to better help you. If the answer turns out to be that you are missing a part of the installation then we at least will know that is the problem.
Cheers,
Morag |
I will try too explain the original problem which led me to ask this question.
Actually I am trying to compile some sample C++ programs like imqdput.cpp which are present in the sample directory which was obtained when we installed the IBM MQ package under the path:
C:\Program Files (x86)\IBM\WebSphere MQ\tools\cplus\Samples\imqdput.cpp
We are getting some compile errors saying "cmqc.h" not found - while doing this because the .hpp header file includes the below .h files in its code as shown below:
extern "C" {
#include <cmqc.h>
#include <cmqxc.h>
#include <imqtype.h>
#include <string.h>
}
Later I set the C header files include path also in the dependency director in the Falcon C++ compiler IDE to resolve this error.
But later I got a different error as shown below:
"..\Program Files (x86)\IBM\WebSphere MQ\tools\c\include/cmqc.h:3584: error: '_int64' does not name a type"
for the line declared " typedef _int64 MQINT64;" in cmqc.h
Hence we thought some .lib or .h files may be missing in this SDK kit so there may be a seperate working C++ library package as such in the IBM website
Pls let us know how to resolve this error by not editing the .h or .hpp or .lib files.
Thanks |
|
Back to top |
|
 |
nageshr99 |
Posted: Wed Jun 21, 2017 8:44 pm Post subject: |
|
|
Novice
Joined: 30 May 2017 Posts: 24
|
mqjeff wrote: |
You might also consider using the plain C API rather than the C++ api.
I believe the C++ api has been stabilized a while ago and doesn't support many of the features you might need, like channel username and password in the MQCONNX equivalent call... |
We have to develo our application using MQ C++ libraries only.Hence we are working on C++ sample examples initially rather than c sample programs. |
|
Back to top |
|
 |
nageshr99 |
Posted: Wed Jun 21, 2017 8:46 pm Post subject: |
|
|
Novice
Joined: 30 May 2017 Posts: 24
|
gbaddeley wrote: |
There is also a Redistributable MQ Client installation image available, that does not require installation of MQ Client from the MQ Server or MQ Client images. |
You mean to say we can get .lib/.dll/.hpp files just by installing this Redistributable MQ client itself? |
|
Back to top |
|
 |
hughson |
Posted: Wed Jun 21, 2017 11:51 pm Post subject: |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
nageshr99 wrote: |
mqjeff wrote: |
You might also consider using the plain C API rather than the C++ api.
I believe the C++ api has been stabilized a while ago and doesn't support many of the features you might need, like channel username and password in the MQCONNX equivalent call... |
We have to develop our application using MQ C++ libraries only.Hence we are working on C++ sample examples initially rather than c sample programs. |
A good portion of people who write C++ applications and need to use MQ, actually use the C API from within their C++ application. This was part of the reason why the C++ classes were stabilized since few made use of them.
Cheers,
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
hughson |
Posted: Thu Jun 22, 2017 12:21 am Post subject: Re: How to get IBM Websphere MQ(message Queue) libraries |
|
|
 Padawan
Joined: 09 May 2013 Posts: 1959 Location: Bay of Plenty, New Zealand
|
nageshr99 wrote: |
We are getting some compile errors saying "cmqc.h" not found - while doing this because the .hpp header file includes the below .h files in its code as shown below:
extern "C" {
#include <cmqc.h>
#include <cmqxc.h>
#include <imqtype.h>
#include <string.h>
}
Later I set the C header files include path also in the dependency director in the Falcon C++ compiler IDE to resolve this error. |
You did the correct thing there.
nageshr99 wrote: |
But later I got a different error as shown below:
"..\Program Files (x86)\IBM\WebSphere MQ\tools\c\include/cmqc.h:3584: error: '_int64' does not name a type"
for the line declared " typedef _int64 MQINT64;" in cmqc.h |
This error means that the type _int64 is not recognised.
In versions of the cmqc.h header file on Windows from MQ V8 FP2 (I don't have FP1 to check) that line is surrounded by a pre-processor statement as follows:-
Code: |
#if defined(_MSC_VER) || defined(__BORLANDC__)
typedef _int64 MQINT64;
typedef unsigned _int64 MQUINT64;
#else
typedef long long MQINT64;
typedef unsigned long long MQUINT64;
#endif |
In MQ V8 GA and earlier the same lines look like this:-
Code: |
typedef _int64 MQINT64;
typedef unsigned _int64 MQUINT64; |
What this tells me is that the MicroSoft Visual C and Borland C++ Builder compilers recognise the type _int64 and others don't and should be using the type long long instead.
You say that you are using the Falcon C++ compiler, and my guess is that it is one of the compilers that doesn't recognise the type _int64.
You don't mention what version of IBM MQ you installed. My guess is that it is earlier than V8 Fix Pack 2. If so, I suggest you grab something a little bit newer, and try your compile again, or edit the cmqc.h header file as noted above (a change that IBM MQ itself later gets, so no harm in that).
Cheers
Morag _________________ Morag Hughson @MoragHughson
IBM MQ Technical Education Specialist
Get your IBM MQ training here!
MQGem Software |
|
Back to top |
|
 |
mqjeff |
Posted: Fri Jun 23, 2017 4:29 am Post subject: |
|
|
Grand Master
Joined: 25 Jun 2008 Posts: 17447
|
nageshr99 wrote: |
We have to develo our application using MQ C++ libraries only. |
That's very confusing, in part because
hughson wrote: |
A good portion of people who write C++ applications and need to use MQ, actually use the C API from within their C++ application |
Again, "stablized" means "no new features or updates or bug fixes or etc". So it's very likely that you will run into things you need to do that you can't. _________________ chmod -R ugo-wx / |
|
Back to top |
|
 |
|