如何在Build.PL中测试系统库先决条件

Mik*_*ery 2 perl perl-module

鉴于我正在使用Module :: Build来构建我的perl模块,我想在Build.PL中测试特定的系统库先决条件,如果找不到它们则退出并返回错误.这似乎是确保在调用编译器时满足必要先决条件的最佳方法.我可以让编译在链接时失败,但我认为在构建之前检测更好.这可能只是搜索构建系统在编译时将使用的相同lib目录,但我希望Module :: Build中有一些功能可以帮助解决这个问题.

具体来说,在我的情况下,我想验证libicu是否已安装并在编译器使用的libpath中可用.

cjm*_*cjm 5

听起来你正在寻找Devel :: CheckLib.(还有用于报告配置详细信息的库的ExtUtils :: PkgConfigpkg-config.)

BTW,Build.PL报告非Perl模块先决条件不可用的标准方法是打印消息,解释缺少的内容,然后exit 0 调用create_build_script.Devel :: CheckLib提供了check_lib_or_exit执行此操作的功能.