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

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

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

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

Q&A

解決済

2回答

13092閲覧

vscodeでC言語のコードを書くときに、「includePathを更新してください」とでてしまいました。

abustoy

総合スコア12

C

C言語は、1972年にAT&Tベル研究所の、デニス・リッチーが主体となって作成したプログラミング言語です。 B言語の後継言語として開発されたことからC言語と命名。そのため、表記法などはB言語やALGOLに近いとされています。 Cの拡張版であるC++言語とともに、現在世界中でもっとも普及されているプログラミング言語です。

0グッド

0クリップ

投稿2021/10/03 04:59

前提・実現したいこと

質問を先に述べさせていただくと、windowsからubuntuのようなlinuxOS内のディレクトリのpathを指定することはできるのでしょうか?

windowsのパソコンを使用しています。C言語の開発環境を作ろうとしています。
ubuntuをインストールしubuntuにgccをインストールしました。適当なC言語のプログラムをubuntuターミナル(という呼び方でいいのでしょうか)からコンパイル、実行することはできます。
しかし、コードの編集にvscodeを使うのですが、「#include <stdio.h>」と書くと「#include エラーが検出されました。includePath を更新してください。」とでてしまいました。

ネットで調べますと、vscodeがstdio.hなどのヘッダファイルが入ったフォルダを参照できていないことがわかりました。
そこで、ubuntuのなかのgccの中にあるであろう、ヘッダファイルが入ったフォルダのpathをvscodeに教えようと考えたのですが、windowsからubuntuのようなlinuxOS内のディレクトリのpathを指定することはできるのでしょうか?

ネット上ではmingwをwindowsにインストールしてvscodeにmingwのgccのpathを教える方法が書いておりました。
いままで私はcygwinを使用していたため、vscodeが勝手にcygwin内のヘッダファイルを参照してくれていたため、includePathの設定について考えたことがありませんでした。

C言語

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

#include エラーが検出されました。includePath を更新してください。

該当のソースコード

c

1#include <stdio.h>

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

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

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

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

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

guest

回答2

0

ベストアンサー

windowsからubuntuのようなlinuxOS内のディレクトリのpathを指定することはできるのでしょうか?

直接は参照できません。
VSCode を用いて Ubuntu 上のコンパイルを行う場合は、Windows⇒Ubuntu に Remote 接続する必要があります。
手順については下記を参照下さい。WSL を使用されていることを想定で記載しています。

<手順>
1.Windows に VSCode をインストール
2.VSCode に以下の拡張を追加

Remote - WSL: https://marketplace.visualstudio.com/items?itemName=ms-vscode-remote.remote-wsl
C/C++: https://marketplace.visualstudio.com/items?itemName=ms-vscode.cpptools
C++ Intellisense: https://marketplace.visualstudio.com/items?itemName=austin.code-gnu-global

3.WSL (Ubuntu) を起動
4.Cのソースがある場所に移動
5.下記コマンドを実行

code .

⇒ VSCode で (リモートの) Ubuntu 上のフォルダが表示されます。

6.対象のソースファイルを開いたのち [F5] キーを押下します。

⇒ 設定ファイルが自動的に生成され、コンパイル&実行が行えます。

<参考情報>
■ C++ を Windows + WSL2 + VSCode でコンパイル
https://suzukalight.com/blog/posts/2021-01-14-cpp-vscode-wsl2
■ 【WSL / WSL2】VSCode×WSLでWindows上にLinux開発環境を構築
https://qiita.com/_masa_u/items/d3c1fa7898b0783bc3ed

投稿2021/10/03 06:29

編集2021/10/03 08:02
cx20

総合スコア4633

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

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

abustoy

2021/10/03 07:54

ご回答ありがとうございます。また、手順まで載せていただきとても助かりました。おっしゃる通りにすると、remote接続で立ち上げたほうはubuntu上のヘッダファイルを参照できているようです。go to definitionの機能で確認できました。 すみません。そこでこの<stdio.h>などのコードを右クリックしてgo to definitionとしたときに、.vscodeフォルダとその中にsettings.jsonファイルが、勝手にプロジェクトフォルダに作られてしまうのですがこちらの原因はご存知でしょうか。
cx20

2021/10/03 08:39

> .vscodeフォルダとその中にsettings.jsonファイルが、勝手にプロジェクトフォルダに作られてしまう 申し訳ないですが .vscode フォルダや settings.json フォルダが作られないようにする方法は存じ上げていません。自分が知らないだけかもしれないので、別質問にして頂けると助かります。
abustoy

2021/10/03 08:42

いえ、続けて質問してしまいすみません。しっかり添削して書き直そうと思います。この度はわかりやすく回答くださり、ありがとうございました。
guest

0

VS Code はWindows環境で、UbuntuはWSLですか?

VS Code をWSLで使うようにすれば良さそうな気がします。

wsl で VS Code の使用を開始する | Microsoft Docs

投稿2021/10/03 06:19

itagagaki

総合スコア8402

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

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

abustoy

2021/10/03 07:58

ご回答ありがとうございます。はい、WSLです。remote wslという拡張機能を教えていただきありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問