MinGW gccのlocaleパスについて

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
だんごさん
記事: 273
登録日時: 12年前

MinGW gccのlocaleパスについて

#1

投稿記事 by だんごさん » 7年前

前回、MinGW gccのエラー日本語化でMinGWのgccを日本語化することができました。

しかし、環境変数が(ドライブ名):\MinGW\...以外のパス名だとコンパイルは通るのにshareフォルダのlocaleが読み込まれないのか、日本語にならなくなってしまいました。
これについて自分だけの環境であるか確認したいため、もしよろしければ確認のお願いと、同じ症状が出るならどう対処すべきか教えていただきたいです。

具体的な発生条件ですが、
1.MinGWのデータが「C:\MinGW\bin」にあるなら実行時に日本語になる。
2.「C:\MinGW1\bin」など「MinGW」以外の名前だと日本語にならない。
3.「C:\MinGW\MinGW\bin」のように名前はMinGWでも、階層が違えば日本語にならない。
4.環境変数を変更してもパス名が「C:\MinGW\bin」でなければ日本語にならない。
5.GCC_EXEC_PREFIXの値を指定しても関係ない。(gcc.exeがある階層にバッチファイルでset GCC_EXEC_PREFIX=%~dp0..\lib\gcc\と指定しました)
6.バッチファイルからの直接起動とコマンドプロンプトからの環境変数起動はどちらも同じで変わりはない。
7.ドライブの違いは関係なく、MinGWの名前と階層数が合っていなければ日本語は表示されない。
以上となります。


せっかく日本語にできたのにパス名が変われば使えなくなることが非常に悔しいです。
よろしくお願いします。
 Dango San

Math

Re: MinGW gccのlocaleパスについて

#2

投稿記事 by Math » 7年前

意味不明な投稿だったので削除しました。(管理人)

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: MinGW gccのlocaleパスについて

#3

投稿記事 by ISLe » 7年前

MinGW gccを単体で呼び出す場合の話ですよね。
環境変数MINGW_HOMEを設定すると良いみたいです。
MinGWのデータが「C:\MinGW\bin」にあるなら
MINGW_HOME=C:\MinGW
というふうに。

だんごさん
記事: 273
登録日時: 12年前

Re: MinGW gccのlocaleパスについて

#4

投稿記事 by だんごさん » 7年前

ご返信ありがとうございます。

MINGW_HOMEを設定してみましたが、残念ながら効果がありませんでした…。
もしかしてMinGW側のバグではないかと疑い始めています。
 Dango San

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: MinGW gccのlocaleパスについて

#5

投稿記事 by ISLe » 7年前

Cygwin版のMingw64 gccバイナリを覗くと、"/usr/share/locale"という文字列が見えるので、パス自体はハードコーディングされているみたいです。
そうなるとルートディレクトリがどのように決定されるかという問題になります。

MinGW版はMSYSのmountコマンドでルートディレクトリを変更できるらしいので、もしかしたらMINGW_HOMEじゃなくてMSYS_HOMEが関係するのかもしれません。

だんごさん
記事: 273
登録日時: 12年前

Re: MinGW gccのlocaleパスについて

#6

投稿記事 by だんごさん » 7年前

ご返信ありがとうございます。

残念ながらMSYS_HOMEでも変わりはありませんでした。

実は色々と調べているときに見逃していたのですが、Cygwin + MinGW + GCC 相談室 Part 7のように、同様な疑問を持った方とそれの答えが既に出ていました。
かなり具体的に説明されていまして、解決策の一つである、もう自前でフォルダ作ってしまうという方法を応急処置としました。

ですが正直納得いかないのが本音です…。
 Dango San

ISLe
記事: 2650
登録日時: 13年前
連絡を取る:

Re: MinGW gccのlocaleパスについて

#7

投稿記事 by ISLe » 7年前

Cygwin版はインストールドライブ以外のドライブでもちゃんと日本語になるんですけどね。
Cygwin版というくくりじゃなくて、MinGW-w64ではちゃんとしてるということなのかもしれませんけど。

だんごさん
記事: 273
登録日時: 12年前

Re: MinGW gccのlocaleパスについて

#8

投稿記事 by だんごさん » 7年前

ISLe さんが書きました:Cygwin版はインストールドライブ以外のドライブでもちゃんと日本語になるんですけどね。
すみません。言われてみればMinGWもドライブの違いは関係なかったです…。

とりあえず解決にします。
ご返信ありがとうございました。
 Dango San

閉鎖

“C言語何でも質問掲示板” へ戻る