挖井

类库大魔王的挖井日记

挖一口属于自己的井


Compile Boost::Regex with ICU by VC7.1

  Boost中的Regex需要编译后才能使用,这让人觉得有点难过,而且相比Greta,Boost::Regex居然默认是不能直接支持宽字符的,而且有个同事在那里抱着快是10年前的性能比较结果,说Greta比Boost::Regex好,真是让我觉得很不爽啊。
  不过不爽归不爽,有些固有的缺陷我们还是要面对的,就说对宽字符的支持吧。看Boost::Regex的文档,只要有ICU的支持,它也是可以的。今天我就下定决心,要用VC7.1编译一个出来。
  首先从ICU的主页下载,有源代码包和几个主流平台的2进制文件包,目前最新的稳定版是3.8,不过3.8版的VC解决方案文件是for VC8的,而且连可以下载的2进制文件都是用VC8的,真郁闷,IBM那帮家伙真是不会做UCD啊!退而求其次,用3.6版的好了,它的解决方案文件就是for VC7.1的,其实我猜直接拿它的编译好的也可以用,不过自己编译的心里舒服。编译ICU很简单,什么错误都不会有,直接通过生成一堆的DLL、EXE和LIB文件分别放在bin和lib目录下。然后可以开始编译Boost::Regex。
  一般说来,编译Boost用Bjam,如果没有Bjam可以直接上网下一个,或者自己拿它的源代码编译一个。然后在命令行下,转到有Jamfile.v2文件的目录下,输入bjam回车就可以了,如果要编译所有的Boost库,则可以出去逛一圈,或者睡个午觉。我这里只编译Regex,不过很遗憾的是,用Bjam直接编译我并没有居功。偶然发现相同目录下还有个vc71.mak文件,打开看看,里面有个ICU_PATH预定义选项,后面写上icu所在的路径即可,它会自动找到下面的bin、lib、include目录,不用担心。然后先运行一下vcvars32.bat,再输入nmake -f vc71.mak回车,它就会生成一堆的dll和lib文件,而且最后还会自作主张地复制到VC的bin和lib目录下去。
  搞定!

本文地址:

https://minidump.info/blog/2007/11/compile-boostregex-with-icu-by-vc7-1/

感觉本文不错,不妨小额鼓励我一下!
如果你有Visa、MasterCard之类的国际银行卡,也可以考虑以下选项:
上一篇

昨天去吃了一顿漓江又一轩

  昨天是月末的最后一个周六,所以还是要上班,这是很让人不爽的。白天出神发呆无所事事了一天,其实事情还是挺多的,只不过状态不好,就是不想干活。下午下班的时候,一个人慢慢吞吞地走去食堂。快到食堂的时候,疯丫头从后面叫我,问我去哪里,我说去食堂,她说去梅林吧,于是我犹豫了一下就跟着她去了。  这些...…

mm 全文阅读
下一篇

静态链接Scintilla

  自从大致了解了Scintilla后,就喜欢上了这个控件,一般的用法照它文档和代码中写的,只要LoadLibrary那个dll,就可以直接使用"Scintilla"为类名创建窗口了。这两天发现XML Spy也用了Scintilla,并且没有看到那个dll文件,猜想应该是静态链接进去了,所以我...…

Software 全文阅读