(更新后,请查看编辑,谢谢!)
首先,我想指出我不能使用任何自动化工具来安装模块,因为代理不会解析名称。我已经问过如何解决这个问题无济于事。
所以AFAIK我必须下载Perl模块的.tar.gz包,解压缩并运行它:
perl Makefile.pl
make
make test
make install
所以这就是我得到的:
D:>perl Makefile.PL
Set up gcc environment - 4.5.2
It looks like you don't have either nmake.exe or dmake.exe on your PATH,
so you will not be able to execute the commands from a Makefile. You can
install dmake.exe with the Perl Package Manager by running:
ppm install dmake
Writing Makefile for PowerBuilder::ORCA
我不知道为什么在我安装它的时候会说nmake ...
所以下一个命令(使用NMAKE)
D:>nmake
Microsoft (R) Program Maintenance Utility Version 1.50
Copyright (c) Microsoft Corp 1988-94. All rights reserved.
syntax error at -e line 1, near "'755')
"
Missing right curly or square bracket at -e line 1, at end of line
Execution of -e aborted due to compilation errors.
NMAKE : fatal error U1077: 'C:\WINDOWS\system32\cmd.exe' : return code '0xff'
Stop.
好的,现在使用MAKE(来自MinGW):
D:>C:\MinGW\msys\1.0\bin\make
make: rem: Command not found
make: *** [blibdirs] Error 127
My Perl版本:
This is perl 5, version 12, subversion 3 (v5.12.3) built for MSWin32-x86-multi-thread
(with 9 registered patches, see perl -V for more detail) Copyright 1987-2010, Larry
Wall Binary build 1204 [294330] provided by ActiveState http://www.ActiveState.com
Built Feb 9 2011 14:38:22
有关为何发生这种情况的任何提示?提前谢谢!
编辑:感谢SinanÜnür,我编写了模块。我用dmake install
安装了它,但在导入时,它说:
Compilation failed in require
执行时说:
Can't load 'C:/Perl/site/lib/auto/PowerBuilder/ORCA/ORCA.dll' for module PowerBuilder::ORCA: load_file:El acceso a la dirección de memoria no es válido at C:/Perl/lib/DynaLoader.pm line 201
(内存访问无效)
我认为这是因为我正在编译错误的Perl版本,但是为什么会这样呢?我使用了5.12的链接。
答案 0 :(得分:2)
nmake
的版本相当陈旧。我说10.00.30319.01
。此外,如果您没有与之配合使用的编译器套件,或者您所拥有的编译器套件与构建perl
的编译器套件不兼容,那么nmake
将不会生成MinGW
差。
我假设您已安装ActivePerl,但您没有提及该版本。 make
nmake
,因为它无法处理为dmake
或ppm
编写的makefile。
如果你有ActivePerl 5.10,你可以抓住这个PPD和这个archive,将PPD放在一个目录中,将ZIP放在相应的目录下,然后使用dmake
进行安装它
否则,您将不得不找到一种方法来将编译器套件与适当的构建工具一起放到该机器上。
您的MinGW安装是否有gcc
?仍然无法保证安装中的perl
与用于构建ppd
的编译器兼容,但它可能值得一试。
你真正需要的是ppm install MinGW
。
This thread可能有所帮助:
问题是我的主计算机没有直接连接到互联网,因此我无法发出'ppm install MinGW'命令。
请注意,这些perl
文件特定于perl
版本,因此您可能必须修复该答案中提到的路径。我不能为你做那件事,因为你,AFAIK,你还没有告诉我们你的{{1}}版本。
答案 1 :(得分:0)
据我所知,当你看到“设置gcc环境 - 4.5.2”时,它的Perl被重新配置为使用MinGW和dmake
。
你有没有理由不做以下事情?
cpan PowerBuilder::ORCA
答案 2 :(得分:0)
我没有在Windows上使用perl,但根据我的经验,Strawberry Perl是该环境中可用的最佳实现。我已经将它用于一些相当复杂的程序并安装了多个CPAN模块而没有任何问题。如果你遇到重大问题,那绝对值得一试。