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.


...全文
609 点赞 收藏 4
写回复
4 条回复
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++ 语言
创建于2007-09-28

3.1w+

社区成员

24.8w+

社区内容

C++ 语言相关问题讨论,技术干货分享
社区公告
暂无公告