我正在使用DBI和DBD::SQLite,现在我想使用SQLite的R * Tree功能。由于默认情况下DBD::SQLite不编译此功能,因此我必须在DBD::SQLite的Makefile.PL中的-DSQLITE_ENABLE_RTREE=1变量中添加@CC_DEFINE。如果我执行“perl Makefile.PL && make && make install”,则在我的计算机上本地一切正常,但是最终需要将其部署/分发给最终用户。

在这种情况下我该怎么办?我应该复制源代码,grep源代码,然后创建一个DBD::SQLite::WithRTree吗?创建DBD::SQLite 1.31.1的私有(private)版本(1.31是DBD::SQLite的当前版本)?也许是更好的方法?

通过非公共(public)CPAN::Mini镜像+ CPAN::Mini::Inject部署/分发项目中的所有其他发行版。

最佳答案



您做错了,perl Makefile.PL DEFINE='-DSQLITE_ENABLE_RTREE=1'有效。记录在ExtUtils::MakeMaker中。现在您已经知道,涉及Distroprefs的简单解决方案很可能就位了。

关于perl - 使用来自CPAN的稍微修改模块的最佳实践?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/4663412/

10-12 00:43
查看更多