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

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

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

解决方案手动修改文件:

编辑sphinxexpr.cpp

将所有的:

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

替换成

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

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

coreseek 在gcc 4.9+ 上编译不通过 [sphinxexpr.o] Error 1 错误解决方案的更多相关文章

  1. 解决ngnix服务器上的Discuz!x2.5 Upload Error:413错误

    1.修改php.ini sudo nano /etc/php5/fpm/php.ini #打开php.ini找到并修改以下的参数,目的是修改上传限制 max_execution_time = 900 ...

  2. DUIEngine使用Visual Studio 2010编译Debug_Dll版有关Error MSB3073错误解决方案

    在使用Visual Studio 2010编译DUIEngine的Debug_Dll版如果遇见如下错误: 错误 64 error MSB3073: 命令“copy D:\SomePath\DUIEng ...

  3. 技术派-如果编译提示winnt.h(222):error C2146错误

    如果编译的时候,出现如下错误: \Microsoft Studio 8\VC\PlatformSDK\include\winnt.h(222):error C2146: 语法错误:缺少“:”(在标识符 ...

  4. 在Linux CentOS上编译CoreCLR

    经过几天的努力,终于解决了在CentOS上编译CoreCLR的问题.最终发现问题是CMAKE_C_FLAGS的设置引起的. 只要在“src/pal/tools/clang-compiler-overr ...

  5. GCC 4.8.2 编译安装

      https://my.oschina.net/u/728245/blog/184550 摘要: GCC 4.8.2 在 CentOS 6.5 下编译安装小记,遇到一些问题并解决. 以前从没有升级过 ...

  6. 【转】Linux(ubuntu14.04)上编译Android4.4源码的环境搭建及编译全过程

    原文网址:http://jileniao.net/linux-android-building.html sublime text让我伤心.本来很信任sublime text的自动保存功能,之前使用一 ...

  7. 在ubuntu上编译chrome

    在ubuntu上编译chrome 在ubuntu上编译chrome 红心地瓜 1.获取代码 1)下载tarball,http://chromium-browser-source.commondatas ...

  8. gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解

    摘自http://blog.csdn.net/elfprincexu/article/details/45043971 gcc/g++等编译器 编译原理: 预处理,编译,汇编,链接各步骤详解 C和C+ ...

  9. 【转】Ubuntu 上编译Android出现cannot find -lstdc++解决办法

    [转]Ubuntu 上编译Android出现cannot find -lstdc++解决办法 在Ubuntu 12.04 x86_64机器上编译Android出现下面错误,是因为找不到32bit的li ...

随机推荐

  1. InsertionSort(插入排序)原理及C++代码实现

    插入排序是最常用的排序之一. 在输入规模较小的时候,插入排序的性能较好. 最好情况下插入排序的时间复杂度是O(n),平均情况则为O(n2). 插入排序是稳定的排序算法之一. 基本思路为从第二个元素开始 ...

  2. redhat6.5 升级内核

    1.导入key rpm --import https://www.elrepo.org/RPM-GPG-KEY-elrepo.org 2.安装elrepo的yum源 rpm -Uvh https:// ...

  3. idea高效插件

    RestfulToolkit:url定位controller,快捷键:ctrl+\Maven Helper:依赖分析JRebel:热部署Rainbow Brackets:个性化花括号aiXcode:a ...

  4. 吴裕雄--天生自然 PYTHON3开发学习:输入和输出

    str = input("请输入:"); print ("你输入的内容是: ", str) # 打开一个文件 f = open("/tmp/foo.t ...

  5. c语言中continue的运用,同时学习接收字符,打印字符,遍历字符

    /************************************************************************* > File Name: continue. ...

  6. GIL全局解释器锁-死锁与递归锁-信号量-event事件

    一.全局解释器锁GIL: 官方的解释:掌握概念为主 """ In CPython, the global interpreter lock, or GIL, is a m ...

  7. MySQL报错解决:The MySQL server is running with the --read-only option so it cannot execute this statement

    MySQL报错:The MySQL server is running with the --skip-grant-tables option so it cannot execute this st ...

  8. day06-迭代器

    一.迭代器: 1.可迭代协议:含有__iter__方法. 2.迭代器协议:同时含有__iter__和__next__方法.迭代器是可迭代对象. iterator迭代器. 3.使用可迭代对象有什么好处? ...

  9. ubuntu 14.04 搜狗拼音安装

    打开 Software & Updates,添加软件源: sudo add-apt-repository ppa:fcitx-team/nightly 输入 sudo apt-get inst ...

  10. pycharm打印出的汉字显示乱码

    pycharm未配置时,默认配置为: 打印汉字时显示乱码 简单设置即可 这下以后就没有问题了.