2

コードブロックは、プロジェクト内の一部の関数の定義または宣言を見つけることができません。

質問:ソース ツリーを強制的に再スキャンする方法はありますか?

関連ファイルはすべてプロジェクトに含まれていると思います。(チェックしたところ:struct開いているファイルで宣言された a を名前で見つけることはできません。)

4

2 に答える 2

2

まず、C::B が宣言/定義を見つけやすくする方法をいくつか紹介します。

やや明白ですが、関数が次のいずれかのファイルにあることを確認する必要があります。プロジェクトの一部にするつもりだったのにそこにない場合は、プロジェクト->ファイルの追加に移動してファイルを追加します。2)ファイルをプロジェクトの一部にしたくない/必要としないが、それでも宣言/定義にアクセスしたい場合は、プロジェクトマネージャーにファイルの場所を知らせる必要があります。project->build options でこれを行い、検索ディレクトリを設定できます。検索ディレクトリを設定するときは注意してください...プロジェクト全体またはビルド ターゲット (デバッグまたは実行可能ファイル) に対して設定できます。

注: C::B で複数のプロジェクトを開いている場合、1 つの一般的な問題が発生します。すべてのプロジェクトが「開いている」にもかかわらず、「アクティブ化」されているのは 1 つだけです。したがって、ファイルを開いているからといって、そのファイルがアクティブ化されたプロジェクトの一部であるとは限りません。検索->ファイルを開く」を実行すると、ファイルが開いているが現在アクティブなプロジェクトにない場合、ファイル内のコードが検索されます。

「再スキャン」する唯一の方法は、ソース コードまたはプロジェクト設定を変更した後にプロジェクトを再構築することです。C::B を再起動する必要がある場合があります。上記を実行しても宣言/定義が見つからない場合は、サンプル プログラムを作成して、宣言/定義が見つかるかどうかを確認することをお勧めします。含まれている場合は、プロジェクトとサンプル プロジェクトの間の設定を確認できます。最悪の場合、コードをプロジェクトからサンプル プロジェクトにコピーできます。それでもうまくいかない場合は、C::B を再インストールして、もう一度やり直してください。面白くないけど、うまくいくこともある。

于 2019-07-06T01:43:35.313 に答える
0

プロジェクトを再構築してみることができますが、少なくとも 1 つの他のファイルに構造のヘッダーが含まれていることを確認するか、ヘッダーとソース ファイルがプロジェクトに含まれていることを確認してください。

于 2013-01-18T16:05:39.777 に答える