快速入门 - ruijieguo/firtex2 GitHub Wiki

本节介绍FirteX2的编译、安装和基本使用.

###编译和安装

####支持系统 在大部分Linux平台和各个版本的Windows平台下,FirteX2无须修改即可直接编译成功。

到目前为止,FirteX2在如下平台下成功编译:

  • Windows 7/Vista/XP/Windows server 2003, visual studio 2005/2008/2010
  • Ubuntu 10.04 LTS/g++ 4.4.3
  • MAC OS X/g++ 4.2.1 如果你在其他平台成功编译,请向我们报告。

在Linux系统安装FirteX2

编译依赖:

必须工具:

  • g++ 4.4.3或更高版本
  • automake 1.10或更高版本
  • bison 2.3或更高版本
  • flex2.5.35或更高版本

可选工具:

  • doxygen 1.6.3或更高版本(用于生成API文档)
  • libxml/libxslt/libexslt/xsltproc/docbook xsl 1.76.1或更高版本(用于编译生成本文档)

编译和安装:

http://www.sourceforge.net/projects/firtex获取最新发布源代码,解压缩并进入解压缩目录:

$tar zxf firtex2-0.5.1.tar.gz

$cd firtex2-0.5.1

生成编译文件和脚本:

$chmod +x ./bootstrap.sh && ./bootstrap.sh

该脚本支持configure命令参数。 也可单独配置编译:

$./configure

configure命令有如下几个主要配置参数:

  • --with-debug[=yes/no]: 带debug信息编译, 默认为release模式编译(-g -O3)
  • --with-profile[=yes/no]: 带-pg编译, 用于程序profile
  • --prefix[=PATH]: 指定安装路径前缀,默认前缀是/usr/local.
  • --with-tcmalloc[=PATH]: 指定tcmalloc安装目录,在测试用例中链接tcmalloc,用于自动检测内存泄露,默认不带tcmalloc编译
  • --with-snowball[=yes/no]:是否编译snowball模块 (用于英文词根还原), 默认不编译
  • --without-highlighter[=yes/no]: 是否编译highlighter模块,默认编译
  • --with-boost[=PATH]: 是否指定boost库编译, 默认使用自自带地简化版boost库
  • --with-thrift[=PATH]: 是否指定thrift库, 默认使用自带的thrift库

编译:

$make

安装:

$make install

默认可执行程序将安装至/usr/local, 可通过configure的--prefix参数指定其他目录. 执行安装后, 可执行程序将安装至$(prefix)/firtex2/bin, 配置文件样例将安装至$(prefix)/firtex2/conf目录, 插件将安装至$(prefix)/firtex2/plugins目录,分词词典等系统数据文件将安装至$(prefix)/firtex2/sysdata目录. 库文件将安装至$(prefix)/lib, 头文件将安装至$(prefix)/include目录.

编译生成本文档:

$cd documentation/src

$make docbook

编译生成HTML文档需要安装libxml/libxslt/libexslt/xsltproc,编译生成PDF文档需要安装fop。

[Tip] 编译注意事项 使用低版本flex(版本号低于2.5.35)和bison(版本号低于2.3)编译,src/analyzer和src/queryparser目录下的代码可能编译不过,请更新flex和bison版本,或者分别进入src/analyzer和src/queryparser目录执行:

make rebuild 重新编译生成bison和flex代码。

多线程编译(例如 make -j 16)可能导致thrift相关代码编译错误,需要重复编译几次。这是因为thrift生成的代码有些是有编译依赖的,多线程编译可能导致被依赖的代码尚未编译生成。

Ubuntu 12.03 LTS等平台下编译可能出现错误提示:Error: libcrypto required,可以通过安装libssl-dev解决该问题。

Windows系统下编译

编译依赖:

visual studio 2005或2008或2010 使用Visual sutodio编译:

win32目录下有visual studio 2005/2008/2010工程项目文件,分别为All-Inclusive_8.0.sln/All-Inclusive_9.0.sln/All-Inclusive_10.0.sln, 打开编译即可,提供有Release/Debug两种编译模式.

⚠️ **GitHub.com Fallback** ⚠️