0

この質問は、StrawberryperlにRRDTool:: OOをインストールする方法に続き ます。わかりやすくするために、新しい質問を作成する方がよいと思いました。

履歴書:

RRDTool ::OOperlライブラリをWindowsにインストールしたいと考えています。これを行うには、ライブラリRRDToolが必要です。これはClibであり、手動でコンパイルする必要があります。最初にコンパイルするのはrrd.slnプロジェクトです。これは、Visual C ++でスムーズに実行されます。次に行うことは、RRDs.XSをコンパイルすることです。これはStrawberryperlではまったく機能しません。

1)perl ntmake-buildWindows用のmakefileを生成するために起動しました。2)次に、dmakeを起動してモジュールをコンパイルします。大量のコンパイルエラーが表示されます。

問題は、ntmake-buildファイルがStrawberryperlに適していない静的パスを使用しているという事実に起因します。しかし、それらを修正した後でも、エラーがスローされます。

RRDs.o:RRDs.c:(。text + 0x971):`rrd_clear_error'への未定義の参照

RRDs.o:RRDs.c:(。text + 0x985):`rrd_restore'への未定義の参照

RRDs.o:RRDs.c:(。text + 0x9f7):`rrd_test_error'への未定義の参照

RRDs.o:RRDs.c:(。text + 0xafd):`rrd_clear_error'への未定義の参照

.....................。

collect2:ldが1つの終了ステータスを返しました

dmake.exe:'blib \ arch \ auto \ RRDs\RRDs.dll'の作成中にエラーコード129が発生しました

誰かがこのモジュールをWindows/Strawberryでコンパイルしたことがありますか?

4

1 に答える 1

0

Windows Server 2008 64 ビット版で RRDs.XS をコンパイルすることは不可能であるか、ライブラリを作成して適用するためのいくつかのハックのために複雑になっているようです。ここにいくつかのポイントがあります:

  • RRDTool 用の PPM パッケージはありません (少なくとも ActiveState リポジトリにはあります)。
  • とにかく、Strawberry perl x64 には PPM ツールが組み込まれていません。
  • RRDTools makefile は、AS 32 ビットのインストール用に作成されています (主に perl ライブラリの静的パスが原因で、C ライブラリなどの他の静的パスを見逃していた可能性があります)。

以上が、Strawberry Perl での RRDTool のクリーン インストールを回避する主なポイントです。これは、フロントエンド モジュール RRDTool::OO も使用できないことを意味します。

于 2012-01-31T14:48:55.047 に答える