Preparing C programs in Windows
Work in your typical Windows environment; IBM® MQ for Windows requires nothing special.
For further information about programming 64-bit applications see Coding standards on 64-bit
platforms.
- Link your programs with the appropriate libraries provided by IBM MQ:
Library file Program/exit type MQ_INSTALLATION_PATH \Tools\Lib\mqm.lib server for 32-bit C MQ_INSTALLATION_PATH \Tools\Lib\mqic.lib client for 32-bit C MQ_INSTALLATION_PATH \Tools\Lib\mqicxa.lib client for 32-bit C with transaction co-ordination MQ_INSTALLATION_PATH \Tools\Lib64\mqm.lib server for 64-bit C MQ_INSTALLATION_PATH \Tools\Lib64\mqic.lib client for 64-bit C MQ_INSTALLATION_PATH \Tools\Lib64\mqicxa.lib client for 64-bit C with transaction co-ordination MQ_INSTALLATION_PATH represents the high-level directory in which IBM MQ is installed.
The following command gives an example of compiling the sample program amqsget0 (using the Microsoft Visual C++ compiler).
For 32-bit applications:
For 64-bit applications:cl -MD amqsget0.c -Feamqsget.exe MQ_INSTALLATION_PATH\Tools\Lib\mqm.libcl -MD amqsget0.c -Feamqsget.exe MQ_INSTALLATION_PATH\Tools\Lib64\mqm.libNote:- If you are writing an installable service (see the Administering IBM MQ for further information), you need to link to the mqmzf.lib library.
- If you are producing an application for external coordination by an XA-compliant transaction manager such as IBM TXSeries® Encina, or BEA Tuxedo, you need to link to the mqmxa.lib or mqmxa.lib library.
- If you are writing a CICS® exit, link to the mqmcics4.lib library.
- You must link IBM MQ libraries before any other product libraries.
- The DLLs must be in the path (PATH) that you have specified.
- If you use lowercase characters whenever possible, you can move from IBM MQ for Windows to IBM MQ for AIX® or Linux® systems, where use of lowercase is necessary.
Preparing CICS and Transaction Server programs
Sample C source for a CICS
IBM MQ transaction is provided by AMQSCIC0.CCS. You
build it using the standard CICS facilities. For
example, for TXSeries for Windows 2000:
- Set the environment variable (enter the following code on one line):
set CICS_IBMC_FLAGS=-I MQ_INSTALLATION_PATH\Tools\C\Include; %CICS_IBMC_FLAGS% - Set the USERLIB environment variable:
set USERLIB=MQM.LIB;%USERLIB% - Translate, compile, and link the sample program:
cicstcl -l IBMC amqscic0.ccs
MQ_INSTALLATION_PATH represents the high-level directory in which IBM MQ is installed.
This is described in the Transaction Server for Windows NT Application Programming Guide ( CICS ) V4.
You can find more information about supporting CICS transactions in the Administering IBM MQ.