原创 如何在Open C/C++应用中使用Boost.Regex收藏

 | 旧一篇: Symbian调试技术

尽管新版的Open C/C++ SDK的发布支持了stlport, boost等库,但boost的支持尚不完整。前些时曾初步测试Regex库,编译时提示系统头文件中有许多错误。近日得空终于使得这个测试例子能运行了。下面描述具体过程:

我的测试环境是: SDK: S60 3rd MR Ed  + Open C/C++ SDK; IDE: Carbide.c++ 1.3

0、准备工作

安装OpenC/C++ SDK,这里就不赘述了。然后以该SDK附带的boost例子为基础创建一个regex_ex例子项目。Regex例子可以在网上找一个,比如这里的:

http://www.cs.brown.edu/~jwicks/boost/libs/regex/doc/examples.html
http://www.onlamp.com/lpt/a/6535

1、自定义boost的选项:

打开boost/config/user.hpp文件,定义下面两个宏: (原来就有,把注释符号去掉就行了)
#define BOOST_DISABLE_WIN32
#define BOOST_ALL_NO_LIB

2、修改MIN_WCHAR的定义

打开wchar.h文件,将

#define WCHAR_MIN (wchar_t)__INT_MIN

改为
#define WCHAR_MIN __INT_MIN

即,去掉wchar_t强制转换。否则这个在宏判断时导致莫名其妙的问题。

可保留 WCHAR_MAX的定义不变,没有用到。

3、修正Boost.Regex库中的一个问题:

打开boost/regex/v4/basic_regex_parser.hpp,修改

  1.          std::ptrdiff_t len = (std::min)(static_cast<std::ptrdiff_t>(2), m_end - m_position);

  1.          std::ptrdiff_t len = (std::min)(static_cast<std::ptrdiff_t>(2), static_cast<std::ptrdiff_t>(m_end - m_position));

4、编译与链接regex的源代码

不知Open C/C++ SDK是否有Boost.Regex库的lib文件,我采用的是直接从Regex源代码编译(下载Boost1.35)。

最后,Boost.Regex测试例子在Emulator与真机上均顺利通过。

发表于 @ 2008年09月15日 21:50:00|评论(loading...)|编辑|收藏

 | 旧一篇: Symbian调试技术

评论

#amwftbice83 发表于2008-10-14 13:14:25  IP: 125.114.183.*
帮顶
#VBFGHJ 发表于2008-11-04 17:25:10  IP: 117.88.88.*
来看看
#alei1111 发表于2008-11-11 15:45:39  IP: 218.79.49.*
上海东芝笔记本维修地址电话/
上海东芝笔记本花屏维修/
上海东芝笔记本黑屏维修/
上海东芝笔记本暗屏维修/
上海东芝笔记本进水维修/
上海东芝笔记本不通电不开机不亮维修

/
上海东芝笔记本白屏维修/
上海东芝笔记本进水不开机维修/
上海东芝笔记本进水屏幕维修/
上海东芝笔记本液晶屏维修/
上海东芝笔记本死机维修/
上海东芝笔记本屏幕维修/
上海东芝笔记本键盘维修/
上海东芝笔记本光驱维修/
上海东芝笔记本硬盘维修/
上海富士通笔记本花屏黑屏暗屏白屏维修

/
上海富士通笔记本维修地址电话/
上海富士通笔记本花屏维修/
上海富士通笔记本黑屏维修/
上海富士通笔记本暗屏维修/
#wuyanteng1 发表于2008-11-11 16:14:49  IP: 125.92.186.*
看下!
#han_miao 发表于2008-11-15 16:37:54  IP: 124.93.222.*
没了解过,随便看下......楼上的怎么都有做广告的.
#xiadong901 发表于2008-11-17 10:08:11  IP: 218.79.59.*

出国留学<br>
英国留学<br>
美国留学<br>
上海大众搬场<br>
英国留学
美国留学<br>
租车
汽车租赁
上海租车
上海汽车租赁
搬场公司
上海搬场公司
上海搬家
上海搬场
上海搬家公司
搬家公司
打折机票<br>
国际机票<br>
华宇物流<br>
华宇物流公司<br>
黄浦搬场

杨浦搬场
出国留学
美国留学
黄浦搬场
租车
汽车租赁
发表评论  


当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
Csdn Blog version 3.1a
Copyright © dyw