coreseek 在gcc 4.9+ 上编译不通过 [sphinxexpr.o] Error 1 错误解决方案

这几天玩hhvm,把gcc环境都装到4.9了,然后编译coreseek的时候就出问题,google一大圈,貌似捕风捉影看到一些信息说是gcc4.7+的c++作用域必须用this->去引用,这里整理一个补丁仅供大家参考
coreseek 在gcc 4.7+ 上编译不通过 [sphinxexpr.o] Error 1 错误解决方案

错误如下:(每个人环境都不太一样,提示错误信息应该不尽相同但出错原因应该都是gcc4.7+以上版本作用域的问题)

sphinxexpr.cpp:1047:43: note: declarations in dependent base ‘Expr_ArgVsSet_c<int>’ are not found by unqualified lookup
sphinxexpr.cpp:1047:43: note: use ‘this->ExprEval’ instead
Makefile:390: recipe for target 'sphinxexpr.o' failed
make[2]: *** [sphinxexpr.o] Error 1
make[2]: Leaving directory '/home/lxy/package/coreseek-3.2.14/csft-3.2.14/src'
Makefile:258: recipe for target 'all' failed
make[1]: *** [all] Error 2
make[1]: Leaving directory '/home/lxy/package/coreseek-3.2.14/csft-3.2.14/src'
Makefile:330: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1

解决方案手动修改文件:

编辑sphinxexpr.cpp

将所有的:

T val = ExprEval ( this->m_pArg, tMatch );

替换成

T val = this->ExprEval ( this->m_pArg, tMatch );

保存然后重新编译就ok了!

转载于:https://www.cnblogs.com/phpfans/p/4286732.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值