6

Perlモジュールを構築する場合、ExtUtils :: MakeMakerは、ccflagsやldf​​lagsなどの値にConfig.pm(perldoc Configを参照)で定義されたフラグを使用します。

これらの値をオーバーライドするにはどうすればよいですか(Makefile.PLを編集する以外)?

perl Makefile.PL ldflags=<options> 

動作しないようです。

コンテキスト:OSX10.6でTerm::Readline::Gnuをコンパイルしようとしています。デフォルトのOSXperlはユニバーサルバイナリであるため、-arch i386 -arch ppcなどのccflagsがあります。
一方、私のバージョンのGnu Readline(6.0)は、-archi386のソースからのみコンパイルされています。そのため、-archppcを使用してリンクしようとしているモジュールに期待されるシンボルは含まれていません。

4

2 に答える 2

2

一般に、Config.pmの設定を上書きしようとすると、無駄になります。それらを変更したいより一般的な理由は、Perlが非GNUコンパイラでコンパイルされたマシンでコンパイラを変更することですが、GCCを使用したい場合です。これを行うのは非常に難しいので、選択したコンパイラでPerlを再構築し、すべての補助モジュールをインストールしてから、「システム」と戦うよりも、選択した新しいモジュールのビルドを使用する方がはるかに簡単です。

したがって、Perlが使用するのと同じオプションを使用してGNU Readlineライブラリを構築するか、GNUReadlineの構築に使用されるオプションを使用してPerlを構築するという2つのことのいずれかを実行できます。マシンと頭の毛を大切にする場合は、一方を曲げてもう一方を曲げようとすることはお勧めしません(マシンをそれほど強く叩かないでください。ハードウェアではなく、イライラするはずのソフトウェアです。Macは素晴らしいです。 !)。

2つのオプションのうち、GNU Readlineの再構築はおそらく簡単です-それはより小さく、アドオンが少なくなっています。

于 2009-10-20T02:53:58.283 に答える
0

私は試していませんが、ドキュメントのヒントファイルサポートセクションで提供されている情報が関連している可能性があります。

于 2009-10-20T02:12:43.907 に答える