boost regex 编译问题: boost 成功编译了,可 regex 没有通过?

田春峰
博客专家认证
2007-01-04 10:09:32
boost regex 编译问题: boost 成功编译了,可 regex 没有通过?

我的环境: vs 2005

没有改动过boost的源代码,可是提示下面的错误信息

D:\c++\boost\boost_1_33_1\libs\regex\build>nmake vc8.mak

Microsoft (R) 程序维护实用工具 8.00.50727.42 版
版权所有 (C) Microsoft Corporation。保留所有权利。

Building Boost.Regex without ICU / Unicode support:
Hint: set ICU_PATH on the nmake command line to point
to your ICU installation if you have one.
cl /nologo /MT /W3 /EHsc /O2 /GF /Gy /I..\..\..\ /D_MT /DWIN32 /DNDEBU
G /D_MBCS /D_LIB /FD /Zc:wchar_t /c -Y- -Fo./vc80/libboost_regex-vc80-mt-s-1_3
3_1/ -Fdvc80/libboost_regex-vc80-mt-s-1_33_1.pdb ../src/regex_traits_defaults.cp
p
regex_traits_defaults.cpp
../src/regex_traits_defaults.cpp : warning C4819: 该文件包含不能在当前代码页(936
)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
../src/regex_traits_defaults.cpp(670) : warning C4819: 该文件包含不能在当前代码
页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
../src/regex_traits_defaults.cpp(690) : fatal error C1071: 在注释中遇到意外的文
件结束
NMAKE : fatal error U1077: “"C:\Program Files\Microsoft Visual Studio 8\VC\BIN\
cl.EXE"”: 返回代码“0x2”
Stop.


...全文
767 4 打赏 收藏 举报
写回复
4 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
a114778761 2009-09-21
学习了
  • 打赏
  • 举报
回复
hhapp0728 2007-01-04
由于regex_traits_defaults.cpp文件中有西欧Windows编码的字符,所以在中文下不能被
正确识别。
解决方法:
方法1、用MS word打开regex_traits_defaults.cpp,会弹出对话框让选择编码,选择西欧Windows
编码;把此文件再存成Unicode编码的文件,替换掉原来的regex_traits_defaults.cpp。

方法2、把系统的默认语言改成英语(美国),重启动;把VS2005的International Settings设置成和windows设置一致(Tools--〉Options--〉Environment--〉International Settings);
这样编译时便没有那些讨厌的Warning,也可以正常编译Regex
  • 打赏
  • 举报
回复
lyskyly 2007-01-04
可能你下载的那个文件中
regex_traits_defaults.cpp
好像这个文件中的注释打错了,好像是少打了一个*,/*?*/写成了/*?/,忘了,自己改一下
  • 打赏
  • 举报
回复
taodm 2007-01-04
是nmake -fvc8.mak
  • 打赏
  • 举报
回复
发帖
C++ 语言

6.2w+

社区成员

C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
帖子事件
创建了帖子
2007-01-04 10:09
社区公告
暂无公告