加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在构建模块时如何覆盖perl的编译标志?

发布时间:2020-12-15 23:36:17 所属栏目:大数据 来源:网络整理
导读:构建Perl模块时,ExtUtils :: MakeMaker使用Config.pm中定义的标志(参见perldoc Config)获取ccflags和ldflags等值. 如何覆盖这些值(缺少编辑Makefile.PL)? perl Makefile.PL ldflags=options 似乎不起作用. 语境: 我试图在OS X 10.6上编译Term :: Readline
构建Perl模块时,ExtUtils :: MakeMaker使用Config.pm中定义的标志(参见perldoc Config)获取ccflags和ldflags等值.

如何覆盖这些值(缺少编辑Makefile.PL)?

perl Makefile.PL ldflags=<options>

似乎不起作用.

语境:
我试图在OS X 10.6上编译Term :: Readline :: Gnu.
默认的OS X perl是一个通用二进制文件,因此有像-arch i386 -arch ppc等ccflags.
另一方面,我的Gnu Readline(6.0)版本仅从-arch i386的源代码编译而来.因此,它不包含试图使用-arch ppc链接到它的模块的预期符号.

解决方法

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

因此,您可以执行以下两种操作之一 – 使用Perl将使用的相同选项构建GNU Readline库,或者使用用于构建GNU Readline的选项构建Perl.如果你重视你的机器和头上的头发,不建议弯曲一个以满足另一个(请不要用机器那么难 – 这是你应该感到沮丧的软件,而不是硬件; Mac很好!).

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读