2

私は Visual Studio 2008 でかなり大きな (32 プロジェクトは大きいと思いますか?) マルチプロジェクト 'ソリューション' に取り組んでいます。それは私の質問に密接に関係していると思います。

最近 (最近のことはわかりませんが)、ブラウズ情報 (マクロ、関数、変数などの「定義へ移動」および「宣言へ移動」を可能にする VS 機能) に気付きました。更新されていません。何かで「定義へ移動」を試してみると、IDE から「シンボル '' が定義されていません」と表示されるか、移動したものである場合は正しいファイルに移動しますが、間違ったファイルに移動しますスポット。

ソリューション内のすべてのプロジェクトの参照情報を構築しようとしましたが、役に立ちませんでした。次に、 MSDNで、それを行うべきではないことを読みましたが、代わりに、すべてのプロジェクトがビルドされたら、すべての .sbr ファイルを入力として BSCMAKE を実行します。(確かではありませんが、.sbr ファイルはコンパイル時に自動的に作成されると思います。)

発生していないのはこのステップ (すべての .sbr ファイルで BSCMAKE を実行) であると推測していますが、ソリューション全体でこれを制御する設定が存在する場合、その設定がどこにあるのかわかりません (一度に 1 つのプロジェクトではなく)。

VS がこの情報を取得する他のファイル (.bsc 以外) はありますか? (言い換えれば、私は完全に間違ったツリーを吠えていますか)?

4

2 に答える 2

4

ソリューション ファイル (.sln) のすぐ隣にある IntelliSense ファイル (.ncb) を削除しようとしましたか? .ncb ファイルが破損している可能性があるためです。この問題の詳細については、こちらをご覧ください

ほとんどの場合、「シンボルが定義されていません」と表示されるのは、ソース ファイルに #include がないためです。それが存在し、それを開くことができることを確認してください。

また、定義とマクロは、IntelliSense を台無しにする可能性があります。最近コードに変更はありますか?

私の理解では、BSCMAKE を有効にする設定はありません。コンパイルが完了したら、コマンドを呼び出す必要があります。

于 2009-12-03T13:13:07.313 に答える
1

VS2005 からプロジェクトを移行し、.ncb ファイルにはプロジェクト内のさまざまな変数に関する情報が含まれているため、.ncb ファイルを削除してから、VS2008 または VS2010 でプロジェクトを再構築することをお勧めします。

上記を試しても直らなかったらこちらも試してみてください。

フォーマットに従って関数を定義できます。

タイプ:1

func(int i, char c)

{
.....
....
.....
}

タイプ:2

func(i, char c)

int i;

char c;

{
.....
....
.....
}

タイプ 2 のように定義してから、変数 F12 キー (減速に移動) を押すと、機能しません。タイプ1のように変更して試してみてください。それはうまくいきます。

于 2014-02-06T11:33:51.300 に答える