2012-12-13 120 views
1

我正在通過CPAN shell安裝MQSeries-1.33 Perl模塊,但是它失敗了。我使用的是Windows 7和Strawberry perl v5.16.2。Perl MQSeries-1.33安裝失敗

我還安裝了IBM Websphere MQ v7.5。

模塊在製造時失敗。 以下是錯誤。

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

首先,您爲什麼不下載並使用Windows預構建的MQSeries v1.33 Perl二進制文件?

gcc -c -I"C:/Mqm/Tools/C/include" -I../include

IBM在Windows(32位或64位)上不支持GCC。您需要使用受支持的編譯器,即MS Visual C++。

C:/Mqm/Tools/C/include/cmqc.h:3584:2: error: unknown type name 'int64'

不受支持的解決辦法是添加以下定義在你的代碼的頂部:

#define _int64 __int64 

這將讓你的編譯錯誤,但要記住,它不是由IBM支持。

+1

從哪裏可以下載用於Windows的預構建MQSeries v1.33 Perl二進制文件? –