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

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

新規登録して質問してみよう
ただいま回答率
85.50%
C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

MinGW

MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

Q&A

解決済

1回答

3690閲覧

VSCodeの設定について

feyn

総合スコア26

C++

C++はC言語をもとにしてつくられた最もよく使われるマルチパラダイムプログラミング言語の1つです。オブジェクト指向、ジェネリック、命令型など広く対応しており、多目的に使用されています。

MinGW

MinGW(ミン・ジー・ダブリュー)は GNUツールチェーンのWindows移植版です。 ランタイムライブラリと開発ツールで構成されています。

0グッド

0クリップ

投稿2018/10/06 02:41

編集2018/10/06 03:30

前提・実現したいこと

vscodeでhello worldしたいです。
windows10で,vscodeとMinGWで開発環境を整えようとしています。

MinGWは下の画像のようにインストールしてあります。
イメージ説明

発生している問題・エラーメッセージ

vscodeがiostreamファイルを認識してくれません。

下の画像のようにiostreamが見つからないと出ます。
イメージ説明

試したこと

c_cpp_properties.jsonは次のようになっています。

"configurations": [ { "name": "Win32", "includePath": [ "${workspaceRoot}", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward", "C:/MinGW/lib/gcc/mingw32/6.3.0/include", "C:/MinGW/lib/gcc/mingw32/6.3.0/../../../../include", "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed" ], "defines": [ "_DEBUG", "UNICODE", "_UNICODE" ], "intelliSenseMode": "msvc-x64", "browse": { "path": [ "${workspaceRoot}", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/mingw32", "C:/MinGW/lib/gcc/mingw32/6.3.0/include/c++/backward", "C:/MinGW/lib/gcc/mingw32/6.3.0/include", "C:/MinGW/lib/gcc/mingw32/6.3.0/../../../../include", "C:/MinGW/lib/gcc/mingw32/6.3.0/include-fixed" ], "limitSymbolsToIncludedHeaders": true, "databaseFilename": "" } } ], "version": 4 } コード

補足情報(FW/ツールのバージョンなど)

コマンドプロンプトで

>g++ -v -E -x c++ -

と打つと

c:/mingw/bin/../libexec/gcc/mingw32/6.3.0/cc1plus.exe

1ignoring nonexistent directory "c:\mingw\bin../lib/gcc/mingw32/6.3.0/../../../../mingw32/include" 2ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include/c++" 3ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include/c++/mingw32" 4ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include/c++/backward" 5ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include" 6ignoring duplicate directory "/mingw/lib/gcc/mingw32/6.3.0/../../../../include" 7ignoring duplicate directory "c:/mingw/lib/gcc/../../include" 8ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/include-fixed" 9ignoring nonexistent directory "c:/mingw/lib/gcc/../../lib/gcc/mingw32/6.3.0/../../../../mingw32/include" 10ignoring duplicate directory "/mingw/include" 11#include "..." search starts here: 12#include <...> search starts here: 13 c:\mingw\bin../lib/gcc/mingw32/6.3.0/include/c++ 14 c:\mingw\bin../lib/gcc/mingw32/6.3.0/include/c++/mingw32 15 c:\mingw\bin../lib/gcc/mingw32/6.3.0/include/c++/backward 16 c:\mingw\bin../lib/gcc/mingw32/6.3.0/include 17 c:\mingw\bin../lib/gcc/mingw32/6.3.0/../../../../include 18 c:\mingw\bin../lib/gcc/mingw32/6.3.0/include-fixed 19End of search list.

こんな感じで出力されます。
これをc_cpp_properties.jsonにコピペしてもダメでした。
iostreamファイルの場所を検索すると
ちゃんと
"C:\MinGW\lib\gcc\mingw32\6.3.0\include\c++\iostream"
にあるのです。

よろしくお願いします。

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

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

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

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

設定の仕方が少し古い気がします。

compilerPathにgcc.exeへのフルパス
intelliSenseModegcc-x64を指定してみて下さい。

json

1{ 2 "configurations": [ 3 { 4 "name": "Win32", 5 "includePath": [ 6 "${workspaceFolder}" 7 ], 8 "defines": [ 9 "_DEBUG", 10 "UNICODE" 11 ], 12 "compilerPath": "c:/mingw/bin/gcc.exe", 13 "cStandard": "c11", 14 "cppStandard": "c++17", 15 "intelliSenseMode": "gcc-x64", 16 "browse": { 17 "path": [ 18 "${workspaceFolder}" 19 ], 20 "limitSymbolsToIncludedHeaders": true 21 } 22 } 23 ], 24 "version": 4 25} 26

あと、もしMinGWを使っているのならmsys2mingw-w64に乗り換えましょう。

投稿2018/10/06 05:11

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

feyn

2018/10/06 14:48 編集

回答ありがとうございます。 MinGWは古かったのですね・・・ 言われるまで全く気づいていなかったので助かりました。 MSYS2をインストールしてpacmanでコンパイラもインストールして、vscodeの設定を言われたとおりにやりましたがやはり同じエラーが出てしまいます・・・ ちなみにc_cpp_properties.jsonファイルの各設定項目についての詳細な説明はどこにあるのでしょうか?よかったら教えてください
退会済みユーザー

退会済みユーザー

2018/10/06 14:54

compilerPathの部分はmingw32を使用してないので、環境に合わせて書き換えて下さい。 あと、intelliSenseModeが***-x64とあるのでmingw32じゃダメかもしれないですね。 書いてあるとおりmingwと言ってもいくつかありまして、http://www.mingw.org/のものは個人的にはあまりおすすめできないです。 ↓一応公式の設定方法はコチラ https://github.com/Microsoft/vscode-cpptools/blob/master/Documentation/LanguageServer/MinGW.md
feyn

2018/10/06 15:12

もう一つだけ質問させてください。 includePathの部分は"${workspaceFolder}"だけでいいのでしょうか? vscodeは<iostream>のような<>がつくファイルを、includePathの中身から探しているものだと思っていたのですが違うのでしょうか?
退会済みユーザー

退会済みユーザー

2018/10/06 15:30

C/C++拡張機能の0.16.1までは必要でしたが、0.17.0からはcompilerPathとintelliSenseModeを使用している環境にあわせ適切な設定を行えばincludePath等の設定が無くてもインテリセンスが動作するようになりました。
feyn

2018/10/06 23:26 編集

ありがとうございます。 状況は少し改善したようです。相変わらず同じエラーが出ますが、#include <と打った時点でiostreamも自動補完されるようになりました。また、ctrl+F12を押すとiostreamファイルの中身も見れました。 でもそうすると、ますます意味が分からない・・・
feyn

2018/10/08 02:42

お騒がせしました。 再起動したら治ったみたいです。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問