免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
12下一页
最近访问板块 发新帖
查看: 8191 | 回复: 18
打印 上一主题 下一主题

PerlApp 生成的exe不能正常运行,请帮忙看看 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2013-10-31 13:05 |只看该作者 |倒序浏览
本帖最后由 stdtd 于 2013-10-31 13:05 编辑

执行命令“perl  b.pl”时,代码正常运行。
但当用 PerlApp 转成“b.exe”后,却只能弹出一个一闪就关了的cmd窗口。

------------------------
环境:
windows xp sp3
perl 5.14.3
ActiveState Perl Dev Kit 9.1.1 Build 295479

------------------------
代码(b.pl):
  1. #!/usr/bin/perl -w
  2. use strict;
  3. use Wx;
  4. package MyApp;
  5. use base 'Wx::App';

  6. sub OnInit {
  7.     my $frame = Wx::Frame->new( undef,
  8.                                 -1,
  9.                                 'wxPerl rules',
  10.                                 [-1, -1],
  11.                                 [250, 150],
  12.                                );
  13.     $frame->Show( 1 );
  14. }

  15. package main;

  16. my $app = MyApp->new;
  17. $app->MainLoop;
复制代码
------------------------
PerlApp 图片:




请懂的朋友帮忙看看啊,谢谢!

论坛徽章:
3
摩羯座
日期:2013-09-04 12:01:36申猴
日期:2013-10-23 12:12:23CU十二周年纪念徽章
日期:2013-10-24 15:41:34
2 [报告]
发表于 2013-10-31 13:35 |只看该作者
报错了!错误提示是找不到bytes.pm这个包吧!,程序是不是调用了依赖的包了

论坛徽章:
0
3 [报告]
发表于 2013-10-31 13:42 |只看该作者
本帖最后由 stdtd 于 2013-10-31 13:44 编辑

已经确认过了,bytes.pm 已经存在于 “D:\dev\strawberry\perl\lib” 里面, 这个目录也在PerlApp 的 “Module Search Path” 列表中了啊(请看第一个图片)
奇怪了,为什么还提示找不到呢?

整个程序就只有一个文件"b.pl"。

论坛徽章:
0
4 [报告]
发表于 2013-10-31 13:58 |只看该作者
strawberry?

强烈建议要用PDK打包的使用ActivePerl.

论坛徽章:
0
5 [报告]
发表于 2013-10-31 14:02 |只看该作者
哦,谢谢!

我再装一下ActivePerl 试试。

论坛徽章:
0
6 [报告]
发表于 2013-10-31 16:21 |只看该作者
喜欢用 strawberry,是因为在安装插件方面,一般都能正常安装。
而ActivePerl 却有点点怪,总会比 strawberry 更容易遇到一些装不上的。。。

试了好多次“cpan  Wx”,总是提示:
gcc: installation problem, cannot exec `cc1': No such file or directory
mingw32-make: *** [gcc_mswudll\wxregex_regcomp.o] Error 1
system: mingw32-make -f makefile.gcc all  UNICODE=1 MSLU=0 BUILD=release SHARED=1  LDFLAGS=" -m32" CPPFLAGS="-m32 -D_U
SE_32BIT_TIME_T": 512 at inc/My/Build/Win32.pm line 274.
dmake.exe:  Error code 130, while making 'all'
  MDOOTSON/Alien-wxWidgets-0.64.tar.gz
  D:\dev\Perl\site\bin\dmake.exe -- NOT OK

论坛徽章:
0
7 [报告]
发表于 2013-10-31 17:33 |只看该作者
回复 6# stdtd

用ActivePerl还用什么鸟CPAN装模块,直接PPM,很傻很稳定,我没碰到装不上的。
   

论坛徽章:
6
丑牛
日期:2014-03-21 15:42:04子鼠
日期:2014-04-12 11:50:17处女座
日期:2014-09-01 09:25:1115-16赛季CBA联赛之吉林
日期:2015-12-22 14:01:5215-16赛季CBA联赛之广东
日期:2016-03-08 18:49:422016科比退役纪念章
日期:2016-07-06 12:19:55
8 [报告]
发表于 2013-10-31 18:22 |只看该作者
请问下是用ppm install安装?还是ppm的图形化界面?
偶装模块方面问题多多{:3_201:}
回复 7# iamlimeng


   

论坛徽章:
0
9 [报告]
发表于 2013-10-31 19:48 |只看该作者
本帖最后由 stdtd 于 2013-10-31 20:54 编辑

回复 7# iamlimeng


    通过ppm的图形界面的确很快就安装好了 Wx,顺便还安装了wx相关的其它一些插件,整个安装过程都没报错。谢谢啊!!

可不知为什么,执行“perl  b.pl”时,却依次提示缺少三个 dll(wxmsw28u_core_vc_custom.dll,wxbase28u_vc_custom.dll,stlport.5.1.dll),我从网上下载了放到 c:\windows\system32 下面,再执行“perl  b.pl”时,不再提示缺少前面两个 dll 了,却又提示:

这个可能是“stlport.5.1.dll” 版本不对导致的,可系统又不提示需要什么版本。


然后在 cmd 窗口中提示:
  1. Can't load 'D:/dev/Perl/site/lib/auto/Wx/Wx.dll' for module Wx: load_file:找不到指定的程序。 at D:/dev/Perl/lib/DynaLoader.pm line 191.
  2. at b.pl line 3.
  3. Compilation failed in require at b.pl line 3.
  4. BEGIN failed--compilation aborted at b.pl line 3.
复制代码
但是,“D:/dev/Perl/site/lib/auto/Wx/Wx.dll” 实际上是存在的。

另外在虚拟机中安装了个 ActivePerl 5.14,也遇到同样的问题。。。

唉,,,真笨,,连个工具都装不上了

论坛徽章:
0
10 [报告]
发表于 2013-10-31 19:57 |只看该作者
回复 8# stanley_tam


    我以前通过 ppm 安装模块也遇到不少问题,后来转用 strawberry ,然后通过"cpan  模块" 这种方式却能很轻松地安装上了。所以一直比较喜欢用 strawberry 。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP