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

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

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

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

Q&A

1回答

4862閲覧

(Mac)Visual Sudio Code で C++ の stdc++.h を読み込みたいが、エラーになる

bbdd

総合スコア43

C++

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

1グッド

0クリップ

投稿2020/08/22 13:23

編集2020/08/22 14:16

前提

macOS Catalina
バージョン 10.15.6

問題

Visual Sudio Code で C++ の stdc++.h を読み込みたいが、エラーになる
← 競技プログラミングで必要なライブラリのincludeを一括で行いたいためです

詳細

こちら を参考に
gcc動作環境を整え、visual studio codeからc++のコンパイル&実行を行おうとしています。

stdc++.h を読み込むために行った内容は次の通りです。
gccをインストールした際に得られたstdc++.hをコンパイラが認識出来るよう/usr/local/include/bits にコピーします。
そして、 #include <bits/stdc++.h> が認識されるよう c_cpp_properties.json にて下記修正を行いました。

"includePath": [ "${workspaceFolder}/**", "/usr/local/include/**" ],

その結果下記のようなエラーが生じているのですが、原因がわからない状態です。

[Done] exited with code=1 in 0.092 seconds [Running] cd "/Users/yoki/Desktop/Yoki_Develop/atCoder/" && g++ test.cpp -o test && "/Users/yoki/Desktop/Yoki_Develop/atCoder/"test In file included from /usr/local/Cellar/gcc/9.2.0_1/include/c++/9.2.0/x86_64-apple-darwin18/bits/stdc++.h:33, from test.cpp:1: /usr/local/Cellar/gcc/9.2.0_1/include/c++/9.2.0/cassert:44:10: fatal error: assert.h: No such file or directory 44 | #include <assert.h> | ^~~~~~~~~~ compilation terminated. [Done] exited with code=1 in 0.162 seconds

assert.h というファイルをfindで探してみたのですが、見つからず。
アドバイス等頂けると幸いです。


(追記)

gcc --version 実行時は下記出力となっています。

Configured with: --prefix=/Applications/Xcode.app/Contents/Developer/usr --with-gxx-include-dir=/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/c++/4.2.1 Apple clang version 11.0.3 (clang-1103.0.32.62) Target: x86_64-apple-darwin19.6.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin
mdkcpp1015👍を押しています

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

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

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

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

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

y_waiwai

2020/08/22 13:52

なぜstdc++.h を読みたいのかな?
cateye

2020/08/22 15:33 編集

MACのgccは、clangだと思いましたが? それとも、参照先にあるように、新たにgccをインストールして使えるようにしたのでしょか?  gcc --versionで確かめましょう。 「追記」(clang-1103.0.32.62)・・・gccではなくclangですね。 ・・・個人的には、(なにがインクルードされるか分からないので)stdc++.hは使いませんが・・・そもそも、入れてないw
bbdd

2020/08/22 14:29 編集

早速のご返答ありがとうございます。 * stdc++.h を読みたい理由 * gcc --version の設定状況 を追記しました。
cateye

2020/08/22 22:06 編集

assert.hはC言語標準のインクルードファイルです。通常(Linuxでは)/usr/include/配下に有ります。 ・・・macでも無いのはおかしい? それとは別ですが、assertマクロ使ってますか? ・・・使ってなければ、必要なヘッダだけインクルードすれば? あと、コンパイル時に -v オプションを付けるとインクルードパスが表示されます。
guest

回答1

0

自分も同じようなエラーが出て困っていたのですが、 Xcode CommandLine Tools をアップデートしたところ上手く行きました。
下のコマンドを実行してみてはどうでしょうか。

bash

1$ sudo rm -r /Library/Developer/CommandLineTools // 旧バージョンの削除 2$ xcode-select --install // 新バージョンをインストール

投稿2020/11/24 13:42

mdkcpp1015

総合スコア18

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問