Makefile.PLからCライブラリヘッダファイルを見つける方法はありますか?Makefile.PLからCライブラリヘッダーファイルを探すにはどうすればよいですか?
ライブラリを見つけるのにExtUtils :: Liblistがありますが、ヘッダファイルに相当するものはありません。
Makefile.PLからCライブラリヘッダファイルを見つける方法はありますか?Makefile.PLからCライブラリヘッダーファイルを探すにはどうすればよいですか?
ライブラリを見つけるのにExtUtils :: Liblistがありますが、ヘッダファイルに相当するものはありません。
Devel::CheckLib
ほとんどの著者がそれに使用しているようです。ライブラリなしでは無駄かもしれないので、ライブラリの存在とヘッダーファイルの両方をチェックします。
これを行う小さなlibを書くのはなぜですか(inc/lib/FindHeaders.pmやパッケージディレクトリの最上位にあるものなど)。 Config(incpathを参照)をFile :: Findとglobと一緒に使うだけで、デフォルトのインクルードパスを歩き回り、ヘッダファイルのハッシュをあなたのシステムにマップし、Makefileからの呼び出しに戻すことができる小さなライブラリを持つことができます.PL。これを拡張して、非標準のインクルードパスとあなたのlibへのコンストラクタ引数を含めることは自明です。簡単なピーシー。
他の人のシステム上でヘッダを見つけたいので、自分のシステムにインストールできるPerlモジュールを書くことができます。 –
OKですが、いくつかのテストに失敗したようです。 –
また、これはインクルードファイルがどこにあるのかわからないように見えるだけで、存在するかどうかをテストします。 –
はい、そうではありません。これは、指定されたヘッダーの構成済みインクルード・パスを検索します。それがなければ、失敗するでしょう。それがどこにあるのかを盲目的に推測し、それに応じてcflagsを構成することも間違っています。必要なのは、うまく動作しているか、ヘッダーファイルの右側にパスが含まれているか、またはユーザーが追加のインクルードパスを明示的に指定することです。どちらも 'Devel :: CheckLib'でサポートされています。 – rafl