ActiveState Perl Dev Kit的perlapp生成exe就报错
本帖最后由 qinglangee 于 2011-02-16 22:49 编辑perlapp不知道有用过的没有
.pl脚本文件没问题,能运行
生成exe时勾上 Make dependent executable也没问题,跟脚本一样运行
但生成独立exe程序,就不能运行了
Can't locate object method "new" via package "HTML::TreeBuilder::XPath" at /<D:\temp\aaa.exe>Web/Scraper.pm line 124.
-------------------------
根据二楼的方子搞定了
use HTML::TreeBuilder;
use HTML::TreeBuilder::XPath;
两行都加上,又出了个找不到的模块,装上就好了 加上 use HTML::TreeBuilder::XPath 这个模块估计是动态导入的,没被识别出来 试了下,加上也是不行 难道加过了还是同样的错误???? 难道加过了还是同样的错误????
socyno 发表于 2011-02-15 21:35 http://bbs.chinaunix.net/images/common/back.gif
是一样的 回复 5# qinglangee
就这个错误来看似乎也确实不像是这个模块没有打包,而似乎找不到 new 这个方法, 我看了看源码
发现个怪怪的地方,不知道有没有关系, 可以尝试去掉第二个试试看会不会有用:
package HTML::TreeBuilder::XPath;
use List::Util qw( first);
use strict;
use warnings;
use vars qw($VERSION);
$VERSION = '0.12';
my %CHAR2DEFAULT_ENT= ( '&' => '&', '<' => '<', '>' => '>', '"' => '"');
my %NUM2DEFAULT_ENT= ( '38' => 'amp', '60' => 'lt', '62' => 'gt', '"' => '"');
package HTML::TreeBuilder::XPath;
use base( 'HTML::TreeBuilder'); 回复 6# socyno
试过了,也不行 你 use HTML::TreeBuilder 了吗?这个模块的 new 应该是继承自它的 回复 8# zhlong8
我想应该不是这个问题,既然 HTML::TreeBuilder 没有打包的话,那么程序运行到 use base ('HTML::TreeBuilder') 的时候就应该会报错的吧,而不是等到调用 HTML::TreeBuilder::XPath->new() 的时候才报错 回复 8# zhlong8
我刚才自己试了下,还真是这个问题,挺奇怪的
页:
[1]
2