2

私はWindows764ビットでブーストを構築しようとしています。ブートストラップを実行すると、

execnt.c(29):致命的なエラーC1083:インクルードファイルを開くことができません:'windows.h':そのようなファイルまたはディレクトリはありません

と他のいくつか。Visual Studio 9.0があり、windows.hがある場所は

  • C:\ Program Files(x86)\ Microsoft SDKs \ Windows \ v5.0 \ Include ** W ** indows.h、大文字のW
  • C:\ Program Files \ Microsoft SDKs \ Windows \ v6.0A \ Include ** W ** indows.h
  • C:\ Program Files(x86)\ Microsoft Visual Studio 9.0 \ SmartDevices \ SDK \ Smartphone2003 \ Include \ windows.h

SDKをインストールし、VisualStudioを完全に再インストールしました。これを修正する方法はありますか?

  • 小さな更新:Visual C ++ 2010 Expressをインストールし、IDEから含めることができ、テストプロジェクトは正常にコンパイルされますが、プロンプトを使用すると、プロジェクトはヘッダーを見つけることができません
4

3 に答える 3

5

'cmd'を実行するのではなく、VSコンソールからブーストビルドを実行してみてください。それはおそらくVSのスタートメニューエントリのどこかにあります(とにかく以前はそうでした)。以前はツールの下でVS自体からも利用できましたが、そこで削除されたと思います。

このバージョンは単なるcmdですが、非常に重要な環境変数の束を設定するバッチスクリプトを実行します。

于 2012-05-09T20:28:25.457 に答える
2

同じエラーを探している人の今後の参考のために

レジストリ エディションのアクセス許可なしでビジュアル スタジオをインストールしたため、cl コンパイラを呼び出すときに libxml2 などが検索するライブラリをブーストする環境変数が設定されていませんでした。

レジストリを編集する許可を自分に与え、すべてのビジュアルスタジオ関連プログラムをアンインストール/再インストールすると解決しました

于 2012-05-17T12:35:28.430 に答える
0

%VS90COMNTOOLS%vsvars32.bat を管理者権限で好きなように編集します。

runas /user:Administrator "notepad %VS90COMNTOOLS%vsvars32.bat"

セクションを探す

:GetWindowsSdkDirHelper
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows" /v "CurrentInstallFolder"') DO (
    if "%%i"=="CurrentInstallFolder" (

に変更します

:GetWindowsSdkDirHelper
@for /F "tokens=1,2*" %%i in ('reg query "%1\SOFTWARE\Microsoft\Microsoft SDKs\Windows\v6.0a" /v "InstallationFolder"') DO (
    if "%%i"=="InstallationFolder" (

新しいバージョンの Windows SDK をインストールすると、新しいバージョンを指すように HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SDKs\Windows\CurrentInstallFolder が更新されます。

残念ながら、Visual Studio 2008 がパスを設定するために使用するバッチ ファイルは、このレジストリ キーを使用して Windows SDK の場所を特定するため、VS2008 (6.0a) で動作する Windows SDK のバージョンではなく、インストールする最新バージョン。

レジストリの編集は 1 つのオプションです。上記のように、レジストリから正しいパスを取得するようにバッチ ファイルを変更することをお勧めします。

于 2013-03-17T17:24:17.417 に答える