2

cmakeでEclipseプロジェクトを作成しました。私はqtでvtkを使用しています。ディレクトリ構造は次のとおりです。

parent_dir:
    source - source.h, source.cpp
    build - this is where the .project resides

ワークスペース dir /path/parentで日食を開始しました。

http://www.cmake.org/Wiki/Eclipse_CDT4_Generatorに記載されている指示に従いました 。すべてが正常にビルドされますが、ナビゲーションが機能しません。つまり、Eclipse は、source.hがまだインデックス化されていないという警告を表示します。

さらに、オートコンプリートは qt および vtk 関連のクラスでは機能しません。qt と vtk が含まれている Project|Properties で確認しました。私は何を間違っていますか?私のプロジェクトでは、Eclipse でオートコンプリート nd ナビゲーションを使用したいと思っています。ubuntu 8.04 64ビットでEclipse ganymedeを使用しています。

thx事前に

4

2 に答える 2

3

Wiki によると、ソース ツリーの外にビルド ツリーを配置する必要があります。

ビルド ディレクトリがソース ディレクトリのサブディレクトリである場合、このリンクされたリソースは作成されません。Eclipse では、親ディレクトリを指すリンク リソースを含むプロジェクトをロードできないためです。そのため、ビルド ディレクトリを子としてではなく、ソース ディレクトリの兄弟として作成することをお勧めします。

次のようにする必要があります。

mkdir /home/user/parent_dir_build
cd  /home/user/parent_dir_build
cmake /home/user/parent_dir
于 2009-03-31T13:32:03.710 に答える
2

これを理解するのにかなりの時間がかかりました。"Build" ディレクトリが実際にはプロジェクト ディレクトリの一部ではないことを確認する必要があります。つまり、"CMakeLists.txt" を含む最上位のディレクトリです。

したがって、私の場合、「dir/tree/project_dir」と「dir/tree/project_dir/src」があるので、ビルド ディレクトリ「dir/tree/build_dir」を作成する必要があります。

次に、Debug プロジェクトと Release プロジェクトの両方を作成する小さなスクリプトを作成しました。

#!/bin/sh
mkdir -p $1_build/Release
mkdir -p $1_build/Debug
cmake -E chdir $1_build/Release cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Release ../../$1
cmake -E chdir $1_build/Debug cmake -G"Eclipse CDT4 - Unix Makefiles" -DCMAKE_BUILD_TYPE=Debug ../../$1

引数「project_dir」を使用して、「dir/tree」からスクリプトを呼び出します。

次に、Eclipse で、[ファイル] --> [インポート] --> [一般] --> [既存のプロジェクトをワークスペースに追加] をクリックします。ディレクトリ「dir/tree/$1_build」を指定すると、両方のプロジェクトが自動的に認識されます。

これで、リリース プロジェクトとデバッグ プロジェクトの両方が Eclipse に読み込まれ、Code Assiste (コード補完) やエラーをダブルクリックすることによる迅速なデバッグなどの優れたオプションがすべて利用できるようになりました。

Eclipse にいくつかのファイル フィルターを追加して、プロジェクト ツリーから CMake ファイルを削除できることに注意してください。

于 2011-03-02T12:13:47.590 に答える