【问题标题】:Is it possible to get GCC 3.4.6 to compile UTF-8 with BOM source files?是否可以让 GCC 3.4.6 使用 BOM 源文件编译 UTF-8?
【发布时间】:2016-10-18 11:34:08
【问题描述】:

我有一个使用 unicode 字符串的 c++ 应用程序,我已经编译了解决方案 ---- 使用 Visual Studio 2012。 ------窗口7

文件以带有 BOM(字节顺序标记)的 utf-8 格式保存。当我在 linux 中运行相同的文件时,出现以下错误:- 错误:程序中出现杂散“\239” 1:错误:程序中出现杂散“\187” 1:错误:程序中出现“\191”

我发现 gcc 不支持 c++ 文件中的 BOM。如果我从文件中删除 BOM,错误得到解决。有没有一种方法可以编译我的应用程序,其中包含使用 BOM 保存在 utf-8 中的文件?

还有一件事,我正在“Red hat enterprise Linux 4 edition”中编译应用程序,其中 GCC 版本为 3.4.6。

请在这方面帮助我。

感谢和问候 维卡斯

【问题讨论】:

  • 我相信你会很难过,除非升级 gcc,我在 gcc 4.1.2 中看到了类似的错误修复(gcc.gnu.org/bugzilla/show_bug.cgi?id=33415),似乎从 4.3 开始,它是主流。
  • 亲爱的 Armel... 感谢您的回复。您能告诉我在红帽企业版 4 中升级的方法吗?我尝试使用红帽企业 4 的 cd rom 升级 4.1.2,但我仍然遇到错误。我猜是因为 4.1.2 编译器中的错误。请帮帮我
  • 亲爱的Experts,我可以在我的Red hat enterprsie edition 4中使用哪个版本的gcc,它可以支持具有带有BOM(字节顺序标记)的utf8文件。任何人都可以告诉我从哪里可以下载相同的内容并解决我的问题。谢谢和问候
  • 不幸的是我不习惯 RedHat 的东西......
  • 尊敬的专家们 有没有为 RedHat Enterprise Edition 4 创建的补丁来解决 GCC 的错误,即不编译具有字节顺序标记的 UTF8 文件?

标签: c++ linux


【解决方案1】:

@gcc: 你可以使用

-lstdc++

作为编译器选项,编译 utf-8 BOM 文件

(我在这里添加这个,因为这个帖子是谷歌关于这个话题的高评价结果)

【讨论】:

    猜你喜欢
    • 2016-05-03
    • 1970-01-01
    • 2012-06-01
    • 2023-03-14
    • 2018-05-21
    • 1970-01-01
    • 2020-05-08
    • 1970-01-01
    • 2015-11-11
    相关资源
    最近更新 更多