2016-04-01 4 views
-1

複数プロジェクトのC++ソリューションをVS2010からVS2012に移行しました。 プロジェクトには、パスがシステム変数として設定されたライブラリの参照があります。Visual Studio 2012でIntelliSenseの問題が発生しました。システム変数with includesの場合

アプリケーションがコンパイルされ実行されています。しかし、Intellisenseはライブラリのすべてのシンボルとヘッダーのエラーを報告します。ソリューションエクスプローラの[外部依存関係]ノードでは、サードパーティライブラリのヘッダファイルが表示されません。 ハードコードされた相対パスのヘッダーファイルにはこの問題はありません。

ヘッダーファイルを開くためにヘッダー宣言を右クリックすると、環境変数値をストライピングすることでプロジェクトで指定されたすべてのパスが表示されます。例えば インクルードパスが "C:\ QT \ Includes; .. \ .. \ VISLIB \ Inc; $(PROBAL_SHT_LIB)\ V18.05 \ Inc"の場合、 "File 'XX.h"が見つかりませんでした。 .......システムパスを構築する: C:\ QT \ Includes; .. \ .. \ VISLIB \ Inc; \ V18.05 \ Inc。 と$(PROBAL_SHT_LIB)を削除します。

また、新しいシステム変数を設定すると、「マクロ」には表示されません。またはコードがVS2012でコンパイルされません。 VS2012にこの変数を認識させる。私はPCを再起動する必要があります。

これはVS2010で正常に動作していました。

答えて

0

intellisenseで使用されるフロントエンド/パーサーは、実際のコンパイラで使用されているものと同じではないことに注意してください。 これらは常に同期して更新されるわけではなく、機能の完全性とバグのレベルが異なることがよくあります。したがって、intellisenseは、実際のコンパイラがうまく処理する完全な有効コードについて不平を言うことは珍しいことではありません。 もちろん、これは素晴らしいことではありませんが、それは事実であり、誰でもできますが、Microsoftはこれについて何かできるのです。

+0

完全に同意しますが、頻繁に変更されるライブラリのためには機能させる必要がありますので、新しい機能を知り、署名を変更する必要があります。それ以外の場合、開発時間が大幅に増加します。 –

+0

@Abhay Joshi intellisenseに満足できない場合は、マイクロソフトと話をする必要があります。 –

関連する問題