2011-07-19 8 views
4

タイトルに記載されている構成を使用してこのビルドの問題に直面しています。ビルドしようとしているPerlモジュールはMongoDB::Connectionです。私はCPANシェルを経由して構築する、または手動でこのようにしています:Microsoft VC(cl.exe)2010(10.0)ExpressとActivePerl 5.12.4/32を使用したPerl/Cモジュールのビルド

C:\Opt\Perl512.32\bin\perl.exe Makefile.PL 
nmake 

cl.exeためのコマンドラインは次のとおりです。ここで

cl -c -I. -MD -Zi -DNDEBUG -DVERSION=\"0.43\" -DXS_VERSION=\"0.43\"^
    /Foxs/BSON.obj "-IC:\Opt\Perl512.32\lib\CORE" xs\BSON.c 

は、エラーコードとその頻度は以下のとおりです。

6 C2040 'operator' : 'identifier1' differs in levels of indirection 
         from 'identifier2' 
32 C2059 syntax error : 'token' 
7 C2081 'identifier' : name in formal parameter list illegal 
54 C2143 syntax error : missing 'token1' before 'token2' 
2 C2371 'identifier' : redefinition; different basic types 

これらのエラーはすべて、前処理段階での障害の症状であるように見えます。

私はここで全体の出力を貼り付けることはありませんが、初めは次のとおりです。

c:\opt\perl512.32\lib\core\win32.h(368) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 
c:\opt\perl512.32\lib\core\win32.h(368) : error C2081: 'Stat_t': Name in der formalen Parameterliste ist ungültig 
c:\opt\perl512.32\lib\core\win32.h(368) : error C2143: Syntaxfehler: Es fehlt '{' vor '*' 
c:\opt\perl512.32\lib\core\win32.h(368) : error C2059: Syntaxfehler: ')' 
c:\opt\perl512.32\lib\core\win32.h(369) : error C2143: Syntaxfehler: Es fehlt ')' vor '*' 
c:\opt\perl512.32\lib\core\win32.h(369) : error C2081: 'STRLEN': Name in der formalen Parameterliste ist ungültig 

だから、手がかりStat_t与えられ、私は問題を追跡しようとしました。

ack Stat_t c:\opt\perl512.32\lib\core\ 

のでStat_tCORE\dosish.hCORE\unixish.hで定義されています。どちらも条件付きでCORE\perl.hに含まれています。私はコンパイルしようとしているファイルからインクルードされています。だからになります。

  • 問題を追跡するにはどうすればよいですか?
  • このエラーの原因は何ですか?

ネット上に浮かぶいくつかの類似のエラーがあります。ここではあなたのためのGoogle検索:

http://www.google.com?q=perl+win32.h+c2059+c2143+c2081+c2371

感謝。

答えて

関連する問題