10

Visual Studio 2010 と一緒に Visual Studio 2012 をインストールしました。問題は、単純なプロジェクトを 2010 から 2012 に変換できないことです。kernel32.lib などのファイルへのリンクや、windows.h などのファイルのインクルードに失敗します。私のシステムには Windows SDK 7.1 もインストールされています。

x86 および x64 ユーザー プラットフォームのプロパティ マネージャーをいじってみました (そこに適切な $(DXSDK_DIR) 参照を追加したため) が、結果がまちまちでした。それは単にwindows.hで止まります

たとえば、現在私は取得しています

1>LINK : fatal error LNK1104: cannot open file 'kernel32.lib'

また

1>Source.cpp(2): fatal error C1083: Cannot open include file: 'windows.h': No such file or directory

(「windows.h」が含まれているかどうかに応じて)x64のみの単純な「hello world」タイプのプログラム。

のプロジェクト プロパティで、Active(Debug) / Active(x64) -> VC++ Directories -> Include Directoriesが表示されるようになり$(VCInstallDir)include;$(VCInstallDir)atlmfc\include;$(WindowsSDK_IncludePath);$(DXSDK_DIR)Includeました。その入力ボックスを展開して [編集] をクリックすると、次のように表示されます。

$(VCInstallDir) = C:\Program Files (x86)\Microsoft Visual Studio 11.0\VC\
$(WindowsSDK_IncludePath) = c:\Program Files (x86)\Windows Kits\8.0\Include\um;c:\Program Files (x86)\Windows Kits\8.0\Include\shared;c:\Program Files (x86)\Windows Kits\8.0\Include\WinRT

私のプラットフォーム ツールセット v110 windows.h は次の場所にありますc:\Program Files (x86)\Windows Kits\8.0\Include\um\Windows.h(問題はないはずです)。プラットフォーム ツールセットとして Windows SDK 7.1 を選択すると、機能します。

Windowsをフォーマットして再インストールする以外に解決策はありますか?

LE $(変数) ディレクトリをシステム内の絶対パスに置き換えると、すべてが機能します。プロジェクトを他の人と共有しているので、なぜこれを行うのかわかりません。

4

2 に答える 2

5

同様の問題がありました。
私の場合、これはプロジェクト設定で正しいパスが継承されなかったためです。

パスが次のように継承されていることを確認します: Project -> Properties -> VC++ Directories [ Include and Library Directories
] の下の[ Edit ]に移動します。

がチェックされていることを確認してくださいInherit from parent or project defaults

VS2012 の既定のプロパティとマクロが正しく設定されました。(ただし、C++ コア ライブラリがインストールされていないため、すべての VC ディレクトリを置き換えなければならないという一般的なインストールの問題がありました)

于 2014-03-09T12:43:28.053 に答える