【问题标题】:Non-localized version of MinGW?MinGW 的非本地化版本?
【发布时间】:2012-03-05 07:39:01
【问题描述】:

有没有办法用 gcc 下载 MinGW,没有本地化? 如果系统语言不是英语,本地化 gcc 会导致所有警告在 CodeBlocks 中变为错误。这里也报告了一个错误:

http://forums.codeblocks.org/index.php/topic,9489.msg67120.html

该线程还包含该问题的有效解决方案,但如果可以首先下载非本地化版本,这将更加方便。

【问题讨论】:

    标签: localization mingw


    【解决方案1】:

    我很确定以下不是“推荐的解决方案”,但我个人放弃了尝试找到一个。所以:我的语言环境是da(丹麦语),这正是您描述的那种问题。

    我的解决方案? 只需擦除使用的语言环境,导致系统默认为英语:即在我的情况下擦除文件夹:

    C:\MinGW\share\locale\da
    

    (在最近的版本中,位置可能是 msys64\usr\share\locale\sv,在这种情况下,sv 代表瑞典语。)

    为什么在C/C++ 中编码的任何人都希望他们的工具输出本地化的错误消息,这超出了我的理解...

    【讨论】:

    • 嗯,我想这是解决这个问题的最简单的方法。谢谢你:)
    • 虽然这是(目前)我的首选解决方案,但我刚刚发现,每当我安装新软件包时,语言(在我的情况下为 sv)都会重新安装。因此,每次安装新软件包时,我可能都必须删除该文件夹...(叹气!)
    【解决方案2】:

    mingw 中的 Gcc 和 G++ 使用环境变量 LC_ALL 来定义顶层语言(如果设置了此变量),如果可用则默认使用系统语言环境,如果语言环境不存在则使用英语。

    如果您想强制这些工具以英文输出消息,只需添加/编辑环境变量 LC_ALL,其值为 en_US.UTF-8

    【讨论】:

    • 这不是 Windows 上的有效语言环境。只需set LANG=C 就可以了 :)
    • @rubenvb 这不是 windows 语言环境,它是 Mingw 语言环境,我们不想让 windows 在那里做某事。
    【解决方案3】:

    使用命令

    locale -a
    

    查看启用的语言环境列表。 为了使用美国英语,我在 bash 的源文件中设置了以下环境变量

    export LANG=en_US.UTF-8
    export LC_CTYPE="en_US.UTF-8"
    export LC_NUMERIC="en_US.UTF-8"
    export LC_TIME="en_US.UTF-8"
    export LC_COLLATE="en_US.UTF-8"
    export LC_MONETARY="en_US.UTF-8"
    export LC_MESSAGES="en_US.UTF-8"
    

    【讨论】:

      猜你喜欢
      • 2011-05-08
      • 1970-01-01
      • 1970-01-01
      • 2012-05-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-25
      相关资源
      最近更新 更多