简体   繁体   中英

Non-localized version of MinGW/MSYS2?

Is there a way to download MinGW/MSYS2 with gcc, that is not localized? Localized gcc causes all warnings to become errors in CodeBlocks, if the system language is not English. This is a bug also reported here:

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

The thread also contains a working solution to the problem, but if one could download a non-localized version in the first place, this would be much more convenient.

I'm pretty sure the following is not the "recommended solution", but I personally gave up on trying to find one. So: My locale is da (Danish) which causes exactly the kind of problem you describe.

My solution? Simply erase the locale used, causing the system to default to english: ie in my case erase the folder:

C:\MinGW\share\locale\da

(In more recent versions the location might be for example msys64\usr\share\locale\sv where in this case sv represents Swedish.)

Why on earth anyone coding in C/C++ would want their tools to output localized error-messages is beyond me...

Gcc & G++ in mingw use the environment variable LC_ALL to define the language at top level (if this variable is set), defaulting with the system locale if available, and then english if the locale does not exist.

If you want to force those tools to output their messages in english, just add/edit the environment variable LC_ALL with the value en_US.UTF-8

Use the commmand

locale -a

to see a list of enabled locales. To use USA English, I set below environment variables in my bash's source file

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"

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM