我的机器操作系统是WinXP
Home Edition,安装了cygwin,和gcc 3.3,最近下载了Eclipse 3.1和CDT 2.0。还下载了boost 1.32.0版本,用VC6.0编译了boost类库,安装在c:\Boost。这次想看看在Eclipse中boost能否被使用。
在Eclispe中创建了一个managed make c++ project,token_test,我想使用boost中的tokenizer类库。
创建成功后,打开token_test的属性页,选择c/c++ builder选项,可以看到右面的列表框configuration setting中有很多关于gcc的配置。选择GCC C++ Compiler下面的Directories,可以看到最右面的列表框中可以加入includes path,添加一个路径c:\boost\include\boost_1.32。
由于tokenizer类库都是一些模板类,没有必要连接boost的dll或者lib。
在token_test中添加一个文件,拷贝了boost文档中的一个例子程序:
/// simple_example_5.cpp
#include<iostream>
#include<boost/token_iterator.hpp>
#include<string>
int main(){
using namespace std;
using namespace boost;
string s = "12252001";
int offsets[] = {2,2,4};
offset_separator f(offsets, offsets+3);
typedef token_iterator_generator<offset_separator>::type Iter;
Iter beg = make_token_iterator<string>(s.begin(),s.end(),f);
Iter end = make_token_iterator<string>(s.end(),s.end(),f);
// The above statement could also have been what is below
// Iter end;
for(;beg!=end;++beg){
cout << *beg << "\n";
}
}
保存后,eclipse自动编译了该文件(如果觉得每次保存都编译不好的话,可以在project菜单将 build automatically勾掉。
在run菜单中配置C/C++ Local,增加一个token_test的C/C++ Application,可执行文件选择为编译成功的token_test.exe.
点击run按钮,程序开始运行,在控制台中显示:
12
25
2001
试验成功!