質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

ただいまの
回答率

89.99%

VSCode+MinGWでMinGW周りの設定が上手くいかない

解決済

回答 2

投稿 編集

  • 評価
  • クリップ 0
  • VIEW 719

Iwan

score 27

<使用環境>
Windows10 64bit
VSCode 1.33

表題の通りVSCodeとMinGWを使ってC++のビルド環境を構築しようとしているのですが
MinGW周りの設定で問題が起きており何が原因か分からない為、
質問させて頂きます。

具体的には
①MinGW( mingw-get-setup.exe )をインストール
②Installation Managerで以下をインストール
・mingw32-base
・mingw32-gcc-g++
③システム環境変数に以下を追加
・C:¥MinGW¥bin
イメージ説明
④cmdでgcc -vで確認しようとしたところ以下エラーが出る
イメージ説明

原因が分からない為、ご教授いただけたら幸いです。
説明等で不足等ありましたらご指摘ください。

また質問枠で恐縮ですがVSCode側の設定に関して過去にこの環境作成を経験された方で
参考にされたサイト、方法等あれば教えて頂きたいです。

宜しくお願い致します。

>2019.04.09 22:36 追記
イメージ説明

  • 気になる質問をクリップする

    クリップした質問は、後からいつでもマイページで確認できます。

    またクリップした質問に回答があった際、通知やメールを受け取ることができます。

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正、ベストアンサー選択の依頼

  • y_waiwai

    2019/04/09 22:26

    認識できないというのは聞いたことないですね。そこにあるというのはあなたの勘違いでは。

    キャンセル

  • Iwan

    2019/04/09 22:38

    画像を添付させて頂きました。

    キャンセル

  • asahina1979

    2019/04/10 09:11

    バックスラッシュ、エスケープ記号と表示が別々になっているから正しくはないのでは?

    キャンセル

回答 2

+2

この問題の原因は、フォルダーの区切り記号の文字コードの歴史的経緯を知らないとなかなか理解が難しいと思います。このあたりのキーワードで検索すると、その手の情報が多く見つかると思うので、ご参照されてみてはどうでしょうか。

結論から言えば、質問に記されたC:¥MinGW¥binという文字列に用いられている円記号は、Windowsがフォルダーの区切り記号として認識する文字コードU+005Cではなく、「円記号という文字」専用に割り当てられた文字コードU+00A5で記述されているために、正しくパスと認識されていないのが原因です。U+005Cは、一般的な日本語キーボードであればBackspaceの左側にあるキーで入力することができます。逆に、U+00A5は(Windowsでは)キーボードから直接入力することはできないので、何かしら一手間かける必要があったのではありませんか?手間をかけた上に期待した結果が得られないのでは、踏んだり蹴ったりですね。

下図は、U+005Cをバックスラッシュで表示するフォントであるNoto Sans CJK JPをインストールし、ワードパッドでそのフォントを指定して作成したものです。上が質問者様がこの質問に記述されたものをコピーペーストしたもの、下が区切り記号にBack Spaceの左側にあるキーで入力したものです。この結果からも、質問者様が入力した円記号はU+005Aであったことがわかります。

Windowsのシステムフォントでは、U+005CもU+00A5も円記号として表示してしまうため、見分けがつきません。Microsoftも、ぼちぼちシステムフォントやMS系フォントでも、U+005Cはバックスラッシュに固定してもいいんじゃないかと思うんだけどなあ。予告して半年から1年くらいクッションを置けば、そう大した問題も起きないのでは・・・と言いたいところだけど、未だに大手ショッピングサイトでも価格表記の円記号にU+005Cを平気で使っているところもあるし、簡単なことではないのかな。

投稿

編集

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/10 09:08

    余談だけど、実はUNIX系と同じく区切り記号に/を使っても正しく動作するんですよね。

    C:\>/MinGW/bin/gcc -v

    と入力しても正しく動作するはずです。

    ただ、/を標準に移行するのはさすがに大混乱が起きそう。

    キャンセル

  • 2019/04/10 09:15

    環境変数はファイルプロトコルを利用するから問題ないが、悲しいことに引数は認識してくれないんだよね

    キャンセル

  • 2019/04/11 15:16 編集

    都合により遅くなり申し訳ないです。
    ご指摘の通りでした。
    その経緯を知らなかったです。
    問題も解決出来、経緯や何故も知る事が出来ました。
    ありがとうございました。

    キャンセル

checkベストアンサー

+1

環境変数に設定しているパスですが、

C:¥MinGW¥bin

バックスラッシュ\ ではなく、円マーク(U+00A5)となってます
これではちゃんとしたパスが表現できていません。

キーボードの右上にある\のキーで入力するようにしましょう

投稿

  • 回答の評価を上げる

    以下のような回答は評価を上げましょう

    • 正しい回答
    • わかりやすい回答
    • ためになる回答

    評価が高い回答ほどページの上位に表示されます。

  • 回答の評価を下げる

    下記のような回答は推奨されていません。

    • 間違っている回答
    • 質問の回答になっていない投稿
    • スパムや攻撃的な表現を用いた投稿

    評価を下げる際はその理由を明確に伝え、適切な回答に修正してもらいましょう。

  • 2019/04/11 15:13 編集

    都合により遅くなり申し訳無いです。
    ご指摘の点の通りでバックスラッシュ\で設定したところcmdで問題無く確認する事が出来ました。
    ありがとうございました。

    キャンセル

15分調べてもわからないことは、teratailで質問しよう!

  • ただいまの回答率 89.99%
  • 質問をまとめることで、思考を整理して素早く解決
  • テンプレート機能で、簡単に質問をまとめられる