Perl MQSeries-1.33安装失败

时间:2012-12-13 06:27:47

标签: perl ibm-mq

我正在通过CPAN shell安装MQSeries-1.33 Perl模块,但它失败了。我使用的是Windows 7和Strawberry perl v5.16.2。

我也安装了IBM Websphere MQ v7.5。

make时模块失败。 以下是错误。

Cannot add determine value for 'MQENC_TNS', unknown constant 'MQENC_INTEGER_NORMAL '
Cannot add determine value for 'MQGMO_BROWSE_HANDLE', unknown constant 'MQGMO_MARK_BROWSE_HANDLE '
Cannot add determine value for 'MQENC_NORMAL', unknown constant 'MQENC_INTEGER_NORMAL '
Cannot add determine value for 'MQENC_S390', unknown constant 'MQENC_INTEGER_NORMAL '
Cannot add determine value for 'MQENC_REVERSED', unknown constant 'MQENC_INTEGER_REVERSED '
Cannot add determine value for 'MQGMO_BROWSE_CO_OP', unknown constant 'MQGMO_MARK_BROWSE_CO_OP '
typemap.PL: warning: type MQIEP.MQHMSG (MQINT64) not supported
C:\strawberry\perl\bin\perl.exe C:\strawberry\perl\lib\ExtUtils\xsubpp  -typemap C:\strawberry\perl\lib\ExtUtils\typemap -typemap typemap  MQSeries.xs > MQSeries.xsc && C:\strawberry\perl\bin\perl.exe
 -MExtUtils::Command -e mv -- MQSeries.xsc MQSeries.c
gcc -c  -I"C:/Mqm/Tools/C/include" -I../include         -s -O2 -DWIN32 -DPERL_TEXTMODE_SCRIPTS -DPERL_IMPLICIT_CONTEXT -DPERL_IMPLICIT_SYS -fno-strict-aliasing -mms-bitfields -s -O2     -DVERSION=\"1.
33\"    -DXS_VERSION=\"1.33\"  "-IC:\strawberry\perl\lib\CORE"   MQSeries.c
In file included from MQSeries.xs:66:0:
C:/Mqm/Tools/C/include/cmqc.h:3584:2: error: unknown type name 'int64'
C:/Mqm/Tools/C/include/cmqc.h:3585:25: error: expected '=', ',', ';', 'asm' or '__attribute__' before 'MQUINT64'
C:/Mqm/Tools/C/include/cmqc.h:3610:2: error: unknown type name 'MQUINT64'
dmake:  Error code 129, while making 'MQSeries.o'
dmake.exe:  Error code 255, while making 'subdirs'
  MQSERIES/MQSeries-1.33.tar.gz
  C:\strawberry\c\bin\dmake.exe -- NOT OK
Running make test
  Can't test without successful make
Running make install
  Make had returned bad status, install seems impossible
Stopping: 'install' failed for 'MQSeries'.
Failed during this command:
 MQSERIES/MQSeries-1.33.tar.gz                : make NO

1 个答案:

答案 0 :(得分:1)

首先,为什么不下载并使用Windows预构建的MQSeries v1.33 Perl二进制文件?

  

gcc -c -I“C:/ Mqm / Tools / C / include”-I ../ include

IBM不支持Windows上的GCC(32位也不支持64位)。您需要使用支持的编译器,即MS Visual C ++。

  

C:/Mqm/Tools/C/include/cmqc.h:3584:2:错误:未知类型名称'int64'

不支持的解决方法是在代码的最顶部添加以下定义:

#define _int64 __int64

这可以解决编译错误,但请记住,IBM不支持它。