2012-07-25 42 views
1

我想將一個本地模塊包含在未安裝的Perl腳本中。下面的代碼似乎適用於此目的。但是,我想包含的模塊是C庫的包裝器。我這樣做如下:包含引用本地C庫的本地Perl模塊

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

Perl的模塊被稱爲Tree::Suffix並作爲libstree的包裝。我的問題是,我如何在本地引用C庫(因爲它沒有安裝)。

我認爲這將與Perl模塊的內部工作有關嗎?如果這是一個業餘問題,我很抱歉。謝謝!

+0

我不明白。如果庫未安裝,則無法使用它。 – tripleee 2012-08-23 17:25:37

回答

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; 

,或者改變你的Perl程序前殼的LD_LIBRARY_PATH被稱爲:

export LD_LIBRARY_PATH=/bar/baz:$LD_LIBRARY_PATH 
[run your program]