2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Visual Studio 2017 (15.9) のCMake機能でIntellisenseが効かなかった

Posted at

背景

  • 研究で開発しているプログラムでCMakeを使っているが,Visual StudioをVisual Studio 2017 15.9にアップデートしたらcl.exeが使えなくなった
  • 仕方がないのでVisual StudioのCMake管理機能を使い始めた
  • Visual StudioのIntellisenseが効かなかった

目的

  • Visual Studioで
  • CMakeのプロジェクトを開き
  • Intellisenseを使いながら
  • 実装する

結果

できました.

何故Intellisenseを実行できなかったか?

問題点を書く前に,少しだけVisual Studioの仕組みについて説明します.

Visual Studioでは,C++のヘッダをincludeする際に二種類の記法があります.

#include <hahaha.h>

#include "hahaha.h"

<> を使用した場合は,IDEに設定された検索対象の場所から該当ファイルを検索します.この際,Windowsであれば,多くの場合IDEはVisual Studioとなるでしょう.そしてこのとき,Visual Studioのプロジェクトのプロパティから設定できる,追加のインクルードディレクトリ がここで言う検索対象 のディレクトリとなります.

"" を使用した場合には,呼び出し元ファイルを起点としてファイルを検索します.

私の環境における問題点は,自身が作成したローカルのファイルをインクルードする際に,<> を使用していたことでした.試しにこれを "" に変更して試したところ,無事Intellisenseが動作しました.

予想

おそらく,これは**<>** を使用したことにより無駄に検索範囲が広くなってしまったため,それぞれのファイルを見つけ出すまでに膨大な時間がかかってしまっていたのではないかと考えています.

今回のプログラムはグラフィクス用のプログラムで,画面表示のためにたくさんの外部ライブラリを使用していました.そして,それぞれのライブラリのincludeディレクトリをIDEが検索する対象範囲に追加していたため,時間がかかってしまったものと思われます.

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?