Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何重写perl';构建模块时的编译标志?_Perl_Build_Perl Module_Makemaker - Fatal编程技术网

如何重写perl';构建模块时的编译标志?

如何重写perl';构建模块时的编译标志?,perl,build,perl-module,makemaker,Perl,Build,Perl Module,Makemaker,构建Perl模块时,ExtUtils::MakeMaker使用Config.pm(请参阅perldoc Config)中定义的标志作为ccflags和ldflags等值 如何覆盖这些值(除了编辑Makefile.PL之外) perl Makefile.PL ldflags= 似乎不起作用 背景: 我试图在OSX10.6上编译Term::Readline::Gnu。 默认的OS X perl是一个通用二进制文件,因此具有-arch i386-arch ppc等ccflags。 另一方面,我的Gn

构建Perl模块时,ExtUtils::MakeMaker使用Config.pm(请参阅perldoc Config)中定义的标志作为ccflags和ldflags等值

如何覆盖这些值(除了编辑Makefile.PL之外)

perl Makefile.PL ldflags=
似乎不起作用

背景: 我试图在OSX10.6上编译Term::Readline::Gnu。 默认的OS X perl是一个通用二进制文件,因此具有-arch i386-arch ppc等ccflags。

另一方面,我的Gnu Readline(6.0)版本仅从源代码for-arch i386编译。因此,它不包含试图使用-arch-ppc链接到它的模块的预期符号。

文档部分中提供的信息可能是相关的,尽管我没有尝试过。

通常,尝试覆盖Config.pm中的设置是徒劳的。想要更改它们的更常见的原因是更改机器上的编译器,其中Perl是使用非GNU编译器编译的,但您希望使用GCC。这很难做到,因此使用您选择的编译器重建Perl、安装所有辅助模块,然后使用构建您选择的新模块,而不是试图对抗“系统”,要简单得多

因此,您可以做两件事中的一件——使用Perl将使用的相同选项构建GNU Readline库,或者使用用于构建GNU Readline的选项构建Perl。如果你重视你的机器和你头上的头发,就不建议尝试弯曲一个以满足另一个(请不要对机器那么用力——你应该对软件而不是硬件感到失望;Mac电脑很好!)


在这两个选项中,重建GNU Readline可能更容易—它更小,附加组件也更少。

尝试在EUMM邮件列表中问这个问题:
perl Makefile.PL ldflags=<options>