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

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

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

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

C++

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

Q&A

解決済

1回答

7884閲覧

VScodeのincludeがうまくいかない

ChrisMasa

総合スコア1

include

あるファイルで定義された関数や処理を、別のファイル上でも使用できるようにするプロセスをincludeと呼びます。

C++

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

0グッド

0クリップ

投稿2020/07/23 05:37

前提・実現したいこと

VSCodeへの、OpenCVのインクルード

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

OpenCVのインクルードがうまくいきません。
opencv.hpp: No such file or directory

該当のソースコード

'#include <iostream>
'#include <opencv2/opencv.hpp>

int main(void) {
std::cout << "Hello, world!" << std::endl;
return 0;
}

試したこと

c_cpp_properties.jsonのインクルードパスに、C:/OpenCV/build/includeを追加しました。
→そのうえで上記のエラーが発生しています。

絶対パスでのインクルードを試しました(#include "C:/OpenCV/build/include/opencv2/opencv.hpp")
→opencv.hpp内でも『#include "opencv2/opencv_modules.hpp"』が使用されており、そこでエラーが発生しました

補足情報

VSCode初心者なので、VSCode周辺の問題だと思います。プログラムの問題というよりは、環境構築の問題ですが、しばらく調べてもわかりませんでした。どうかよろしくお願いします。

以下、設定画面です。
イメージ説明

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

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

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

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

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

pepperleaf

2020/07/25 05:48

手元で確認できないので何ともですが、、、 OSは、Windows10でしょうか。コンパイラは何を使ってますか? コンパイラによってインクルードパスの参照方法が違ったりします。(VSCodeじゃなくて)
ChrisMasa

2020/07/28 03:54

つい先ほど解決しました。 C++コンフィグレーションのパスは通っていたのですが、Taskファイルの引数にパスが通っていなかったせいでした。
guest

回答1

0

自己解決

tasks.json のargsに対して、以下の2文を追加しました。

"-I",//include
"C:\opencv\build\include"

どうやらc_cpp_properties.jsonファイルはパスの検索のようなことしかしていないみたいでした。
実際にリンカパスを渡すためには、引数にコマンドとパスを渡さなければいけなかったんですね。

投稿2020/07/28 03:57

ChrisMasa

総合スコア1

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

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

bjnes

2020/07/28 12:59

c_cpp_properties.jsonは編集時に文法エラーがないか見てくれる拡張機能です。(ざっくり なのでコンパイル時の環境と揃えてあげると変なエラーを出さずに助かります。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問