Perl从lib
目录下的目录加载共享对象。在某些Perl的安装中,这将是lib
目录,该目录与找到主Perl二进制文件的bin
目录平行。在某些系统中,它将位于其他地方。例如,Perl中的(5.14.1在MacOS X)我自己的编译说(从perl -V
输出的一部分):
@INC
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/site_perl/5.14.1/darwin-2level
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/site_perl/5.14.1
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/5.14.1/darwin-2level
/Users/jleffler/Perl/v5.14.1-64/lib/perl5/5.14.1
在另一方面,该系统的Perl(5.12.3)说:
@INC:
/Library/Perl/5.12/darwin-thread-multi-2level
/Library/Perl/5.12
/Network/Library/Perl/5.12/darwin-thread-multi-2level
/Network/Library/Perl/5.12
/Library/Perl/Updates/5.12.3
/System/Library/Perl/5.12/darwin-thread-multi-2level
/System/Library/Perl/5.12
/System/Library/Perl/Extras/5.12/darwin-thread-multi-2level
/System/Library/Perl/Extras/5.12
在MacOS X共享对象具有.bundle
扩展名(代替.so
),以及一些我的束的数量是:
.../lib/perl5/site_perl/5.14.1/darwin-2level/auto/DBD/Informix/Informix.bundle
.../lib/perl5/site_perl/5.14.1/darwin-2level/auto/DBD/SQLite/SQLite.bundle
.../lib/perl5/site_perl/5.14.1/darwin-2level/auto/DBI/DBI.bundle
相应的PM文件是:
.../lib/perl5/site_perl/5.14.1/darwin-2level/DBD/Informix.pm
.../lib/perl5/site_perl/5.14.1/darwin-2level/DBD/SQLite.pm
.../lib/perl5/site_perl/5.14.1/darwin-2level/DBI.pm
在任何情况下,Perl将期望去寻找.so
文件中涉及到的模块名称的目录。应该有安装说明,特别是因为你付了钱。在两个相关的相关目录中将会有(至少)一个共享对象和一个.pm
文件被安装。
看起来很奇怪,为某件事付钱,然后向社区寻求支持。图书馆供应商当然可以告诉你如何使它工作,或者他们应该把钱还给你。 –
格兰特,问题是在哪里找到perl共享对象目录。非常适合S.O.而不是关于产品本身的支持问题。感谢名单。 –