我使用DBI和DBD :: sqlite,现在我想使用sqlite的R * Tree功能.由于此功能默认情况下不会由DBD :: sqlite编译,因此必须在DBD :: sqlite的Makefile.PL中的@CC_DEFINE变量中添加-DsqlITE_ENABLE_RTREE = 1.如果我做一个’perl Makefile.PL&&&制作&& make install“,一切在本机上都能在本地运行,但最终需要可部署/可分发给最终用户.
在这样的情况下该怎么办?我应该复制源码,grep源码,并创建一个DBD :: sqlite :: WithRTree?创建一个私有版本的DBD :: sqlite 1.31.1(其中1.31是当前版本的DBD :: sqlite)?也许一个更好的方法?
项目中的所有其他发行版都通过非公开CPAN :: Mini镜像CPAN :: Mini :: Inject进行部署/分发.
解决方法
I have to add a ‘-DsqlITE_ENABLE_RTREE=1’ to the @CC_DEFINE variable in DBD::sqlite’s Makefile.PL
你这样做错了,Perl Makefile.PL DEFINE =’ – DsqlITE_ENABLE_RTREE = 1’的作品.这在ExtUtils::MakeMaker年被记录了.现在你知道,一个简单的解决方案涉及到Distroprefs将可能会到位.