现在的位置: 首页 > 综合 > 正文

clucene2.3.3.4编译详解

2013年10月08日 ⁄ 综合 ⁄ 共 2190字 ⁄ 字号 评论关闭

最近总是有人给我留言,说Clucene编译不过去,大概是因为我以前发的一篇笔记的影响吧

http://blog.csdn.net/p569354158/article/details/6407456#reply

这不,今天又有人问了,所以抽点时间,写一下我编译的过程,希望能帮助大家。

一、首先在sourceforge上下载clucene-core-2.3.3.4
,在目前这是最新版本的

二、安装boost库

boost库安装还是有点麻烦的,首先在在boost官网下载boost,解压后,记得一定要解压在C盘,比如我放在C:\boost\boost_1_47_0目录下,在编译代码的时候系统首先在系统目录下找boost库,这样可以省去一些错误,比如我在写程序的时候发现我的VS2008不能解析以双引号包含的boost头文件,而必须是尖括号包住的,如

#include <boost/regex.hpp>就能编译过去,而#include “boost/regex.hpp”就编译不过去,把我的程序放到boost安装在其它盘的电脑上时,也会出现编译错误。

在解压完成之后,boost的大部分库就可以使用了,只有个别的库需要编译成动态链接库才能使用,boost库使用bjam程序编译,当然我也对这个很有特色的工具一知半解,不过其跟cmake一样,都是跟着GNU make的思想来简单化我们对大型程序编译的问题。

在boost库随带的文档里可以找到准确的编译过程,不过在Clucene2.3.3.4中好像只用到了智能指针,而使用智能指针是不需要编译成动态链接库的,因此编译过程可以省略,不过我在我机子上测试的boost库是编译过去的版本,大家先尝试下面的过程,若提示错误,则尝试使用如下方法编译boost,再尝试重新编译Clucene2.3.3.4

1>双击bootstrap.bat生成b2.exe和bjam.exe文件,将这个目录添加到环境变量里面。

2>用记事本打开Jamroot文件可以看到b2有很多选项,发现有link=static|shared这个选项,我们使用link=shared就行了,表示将所有库生成动态链接库,将命令行切换到C:\boost\boost_1_47_0目录下输入

b2 link=shared

直接回车,不出什么问题的话应该会编译到默认目录C:\boost\boost_1_47_0\stage\lib下,时间估计会有点长,慢慢等。

三、上cmake官网下载cmake2.8

cmake安装没什么说的,我安装在了C:\Program Files\CMake 2.8目录下。

四、将clucene-core-2.3.3.4解压,我解压到了F盘,即在F:\clucene-core-2.3.3.4文件夹下存放它所有的文件。

、修改Cmake的一处错误,也就是我在以前的笔记中提到的,打开C:/Program Files/CMake 2.8/share/cmake-2.8/Modules/FindBoost.cmake,到390行处,做如下修改

五、下载zlib,必须放到C盘,即系统目录下,在F:\clucene-core-2.3.3.4\src\ext文件夹下放有zlib的源码,要是拷贝过来,不能使用到去的盘里面去下载pudn下载
CSDN下载最后我的zlib就在C:\zlib文件夹内。

六、现在准备工作都做完了,我们开始编译,打开C:\Program Files\CMake 2.8\bin\cmake-gui.exe,选择Clucene的目录,和其编译后生成文件的路径,最好单独放在不同文件夹下,这个cmake生成的东西有点乱

直接点击下面的configure,选择visual studio 9 2008,我尝试过vc6,但是没有编译过去,MinGW也试过,也没有编译过去,然后若没有错误的话,后面generate一下就OK了,若出现zlib找不到,指定一下就可以了,按照下面这张图,先选advance再指定

到此,我们就生成了一个关于vs2008的工程,它就在我们指定的clucene_bin目录下,进入目录,点击clucene.sln运行vs2008,在解决方案里我们发现Clucene的所有东西都出来了,但是这个时候可执行程序还没有编译出来,在解决方案里右击生成clucene-core还有clucene-shared就可以了,如果你细心的话,发现目录下面还有好多demo哦,如果你在vs2008里面没有配置boost库,及zlib库的路径时会提示错误,在

工具----选项----项目解决方案----vc++----右边下拉菜单中的包含文件(头文件)及库文件(lib库)分别指定路径,一切OK了

最后将我编译过去的文件连同源码一块发上来,供大家下载下载

祝你使用愉快,如果有什么问题请在下面回复,大家一起交流

 

 

我编译中碰到的问题:

我下载boost后,configure时还报找不到boost,不是第五条的原因,新版cmake已经改正了该问题,我通过下边批处理解决了该问题。

set BOOST_BUILD_PATH=C:\boost\boost_1_49_0\tools\build\v2
set BOOST_PATH=C:\boost
set BOOST_ROOT=C:\boost\boost_1_49_0

抱歉!评论已关闭.