【发布时间】:2018-01-16 07:54:42
【问题描述】:
我有一个 XS 模块。使用./Build 构建后,Module.so 将被放入blib/arch/auto/XS 目录中。
在我的Module.pm 我有:
require XSLoader;
XSLoader::load( 'Module', $VERSION );
我运行程序为:
$ perl -Iblib/lib -MModule -e 'my $x; $x=1'
或
$ perl -Iblib -MModule -e 'my $x; $x=1'
在这两种情况下,都会使用之前安装到系统中的模块。
我应该使用哪个选项从blib/arch/auto 运行带有Module.so 的代码?
UPD
我尝试使用来自blib 的模块,因为在使用XS 进行开发和实验期间我不需要安装它
【问题讨论】:
-
为什么要这样做?您是否运行了模块测试?如果您正在使用系统 perl 但无法在系统库位置安装模块,那么您应该将它们安装在您的
users目录下并添加到@INC。 -
@Borodin:我学习
XS。我创建样板,对.xs进行更改,构建、运行代码并看看会发生什么:./Build && perl -Iblib/lib -Iblib/arch -MModule -e 'Module::Test()'(之前我进行了更改、构建、安装、运行代码)