vs2010 编译utf-8格式的代码总报错

带着小牛捉泥鳅 带着小牛捉泥鳅 墨衍会员 · AI 创作全网分发 墨衍智能分发 通过墨衍一键同步至各平台 可同步平台 CSDN微信公众号微博知乎掘金百家号博客园抖音小红书 你的文章也可以这样分发 墨衍会员 ¥399起/年,写一次发全网 我也要 + 加入社区
情况如下:vs2010版本:10.0.30319.1 RTMRel,.cpp文件编码为utf-8,里面有中文,目的是在windows下编译,然后直接可以拿到Linux下编译。现在在vs2010中编译出错,如下:

>DevOperation\PipeControl.cpp : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>d:\work\w8-m342_interface_include_connectreader\connectsmartcard\connectsmartcard\devoperation\PipeControl.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>d:\work\w8-m342_interface_include_connectreader\connectsmartcard\connectsmartcard\devoperation\PipeInterface.h : warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止数据丢失
1>d:\work\w8-m342_interface_include_connectreader\connectsmartcard\connectsmartcard\devoperation\PipeInterface.h(45): error C2059: 语法错误:“<class-head>”
1>d:\work\w8-m342_interface_include_connectreader\connectsmartcard\connectsmartcard\devoperation\PipeInterface.h(45): error C3805: “<class-head>”: 意外标记,应输入“}”或者“,”
1>D:\boost\boost_1_46_0\boost/smart_ptr/scoped_array.hpp(23): error C2143: 语法错误 : 缺少“;”(在“{”的前面)
1>D:\boost\boost_1_46_0\boost/smart_ptr/scoped_array.hpp(23): error C2447: “{”: 缺少函数标题(是否是老式的形式表?)
1>D:\boost\boost_1_46_0\boost/smart_ptr/shared_array.hpp(51): error C2143: 语法错误 : 缺少“;”(在“<”的前面)



PipeInterface.h(45): 代码如下

该编码方式为utf-8不带签名,如果改成带签名的utf-8则编译没问题,但是放在linux系统下gcc又编译出错,各位大哥有没有什么好得解决方法?
...全文
评论 10
收藏 已收藏
分享
返回顶部
带着小牛捉泥鳅
C++ 语言 65,214 成员 250,514 内容