2012-01-31 7 views
6

新しくインストールされたUbuntuにEclipse & CDTプラグインをインストールしました。インデックス作成は「高速インデックス作成」に設定されていることが推奨されます(「フルインデックス作成」には限界があります)。Eclipse CDTのインデックス作成がプロジェクト内の宣言を見つけることができません

多くの場合、classの名前またはインクルードファイル名に'F3'( 'show declaration')を押した場合、カーソルはそのままの状態を維持し、宣言には至りません。しかし、標準のファイルや記号の場合は、stdio.hstd::vectorなどのように動作します。例えば

、私は2つのファイル、

/home/myself/Workspace/Project/X/Y/include/file.h 
/home/myself/Workspace/Project/X/src/file.cpp 

私はfile.hの内側に居住している任意のclassまたはfile.cppに表示される変数のいずれかの宣言を見ることができないですがあります。 'F3'#include"file.h"に押しても、私はfile.hに行くことができません。

WorkspaceフォルダにEclipseワークスペースが作成され、ProjectフォルダにC++プロジェクトが作成されます。

プロジェクト - >プロパティ - > C/C++一般 - >パスとシンボル - >ライブラリとパス - >追加 "/ Project/X/Y/include/file.h "(両方とも 'Workspace'と 'FileSystem'タブを使用)

まだ運がありません。私はインターネットやSOで十分に検索していますが、役に立つものは何も見つかりませんでした。私はコードブラウジングのためだけにEclipseを使用していますが、現在はコードをビルドしていません。

答えて

14

実際にはにはパスが含まれていますPaths and Symbolsに含まれているものは冗長であり、Workspace/Projectのすべてがインデックスに登録されるため、違いはありません。

解決策は非常に奇妙で、this linkから知りたかったスケーラビリティに関連しています。 >設定 - - > C/C++ - >エディタ - >拡張性 - > "...スケーラビリティモードを有効にする"このような巨大な数を設定し

Eclipseで

ウィンドウに行きます500000と入力し、[OK]を押します。問題は解決しました!私の場合、実際の設定値は5000で、私が見ていたソースファイルは16k+行でした。

+1

大きなC++ファイルを持っている場合は、悪い兆候です。 あなたの正気を助けるためにリファクタリングをちょっと試してみてください。 –

+2

ありがとうございました! – StarDust

+3

@Captain Lepton:単にSWIGラッパー(あるいは自動生成されたコード)やハードウェアデバイスドライバヘッダー、あるいは 'sqlite.h'を使用しているサインなのか、それとも...ポイントを得るのでしょうか?それは悪い兆候ではない。 – Tibo

関連する問題