1

インストールされていない Perl スクリプトにローカル モジュールを含めたい。以下のコードは、その目的のために機能するようです。ただし、インクルードしたいモジュールは C ライブラリのラッパーです。私は次のようにします:

use FindBin;
use lib "$FindBin::Bin/gray-tree-suffix-59e1c06/lib";
use Tree::Suffix;

Perl モジュールはTree::Suffixと呼ばれ、 libstreeのラッパーとして機能します。私の質問は、C ライブラリをローカルでも参照するにはどうすればよいかということです (インストールされていない場合)。

Perlモジュールの内部の仕組みと関係があると思いますか? 素人の質問でしたら申し訳ありません。ありがとうございました!

4

1 に答える 1

1

これを試しましたか:

.soファイルがfoo.soであり、そのフル パスが であるとします/bar/baz/foo.so

BEGIN
{
  $ENV{LD_LIBRARY_PATH} = '/bar/baz:'.$ENV{LD_LIBRARY_PATH};
}

use FindBin;
use lib "$FindBin::Bin/gray-tree-suffix-59e1c06/lib";
use Tree::Suffix;

または、代わりに、LD_LIBRARY_PATHPerl プログラムが呼び出される前にシェルを変更します。

export LD_LIBRARY_PATH=/bar/baz:$LD_LIBRARY_PATH
[run your program]
于 2012-09-20T13:21:21.163 に答える