はじめまして、VC++超初心者です。
あまりにも初心者的な質問ですので、
不快に思われるなら削除します。
VisualC++.NET2003のWIN32プロジェクトから、
#include <windows.h>
だけを書いてビルドしたところ、
以下のエラーがでてしまいました。
c:\Program Files\Microsoft SDKs\Windows\v6.1\Include\specstrings.h(9): fatal error C1083: include ファイルを開けません。'sal.h': No such file or directory
「sal.h」をファイル検索してもHDDにないようです。
Googleで検索しても解決法はわかりませんでした。
「sal.h」というファイルは普通、
どのような方法でインストールされるのでしょうか?
OSはWindowsXP SP2です。
Microsoft Platform SDKはインストールし、
インクルードしました。
宜しくお願い致します。
VC2003はもう入れてないので直接の参考にはならないけど、VS2008の場合には
C:\Program Files\Microsoft Visual Studio 9.0\VC\include
C:\Program Files\Microsoft Visual Studio 9.0\VC\crt\src
にsal.hが入ってるね(同名で内容が違う)。
VC2003にも入ってると思うけどVisual Studioの再インストールとかで解決しないかな?
わざわざご回答ありがとうございます。
VS.NET2003を修復と再インストールをしてみても、
同様のエラーがでてしまいました。
HDDにも同じように「sal.h」ファイルはないようです。
>C:\Program Files\Microsoft Visual Studio 9.0\VC\include
>C:\Program Files\Microsoft Visual Studio 9.0\VC\crt\src
に「sal.h」ファイルがあるとのことですが、
HDDには「Microsoft Visual Studio 8」フォルダはありますが、
中はあまりファイルはなく、「Microsoft Visual Studio」フォルダの
下のほうの階層に「include」フォルダがあるのですが、
「sal.h」はなく、こちらもファイルはあまりありません。
ネットからダウンロードしインストールした「Microsoft SDKs」に
「include」フォルダがあり「windows.h」など多数のファイルがあります。
SDKをインストールする前は「windows.h」がなくエラーがでていました。
SDKにもVS.NET2003の本体にも「sal.h」がないということは、
今のSDKとVS.NET2003に互換性がないということでしょうか?
先の質問の
>Microsoft Platform SDKはインストールし、
>インクルードしました。
はインクルードファイルの環境変数は設定しましたの間違いです。
宜しくお願い致します。
VS2005/2008ともに、sal.hはあります。
セットアップ中に何かエラーありませんか?
ログか何かエラー情報出力されると思うのですが。
何はともあれ、正常にセットアップされたとは思えません。
※ OSは、WinXP Pro/Vista Ultimate ともにです。
以上。
ヒマだったのでググってみたら、どうもVC7.1(つまりVC2003)まではsal.hは
含まれてないっぽいね。
http://msdn.microsoft.com/en-us/library/ms235402(VS.80).aspx
ということで、えーと、なんだろ。PlatformSDKは現在の最新版なんだよね。
Visual C++ 2003のサービスパックは入れた?まだなら↓から入れてみるとなんとかなるかも。
http://www.microsoft.com/japan/msdn/vstudio/downloads/sp/vs2003/sp1/
VC2003ですが、古い環境たたき起こして、検索してみたところ
フルインストールしてあるにも関わらず、sal.hは、存在しま
せんでした。
当然、Microsoft SDKsの方にもありませんでした。
複数のVCのバージョンインストールしていませんか?
環境変数の順序が影響しているように思いましたが・・・
以上。
>とおりすgさん
もしかしてPlatformSDKに別のバージョンがあるかもと思い、
調べてみると「Microsoft PlatformSDK for Vista」があり、
インストールしたところ「sal.h」がでてきました。
前に調べた時にでてきたHPのリンク先が、
「Microsoft PlatformSDK for Server」
でしたのでこれをインストールしたのですが、
これが間違いだったようです。
「sal.h」の問題は解決しました。
サービスパックもあるのをを知りませんでした。
入れておいたのでこれでいくつかのトラブルは防げると思います。
ありがとうございました。
>オショウさん
VC++も、もしかしてと思ったのですが、
混在していませんでした。
インストール時のエラーもログは見ていないのですが、
たぶんでていませんでした。
「PlatformSDK」の問題だったようです。
ご回答ありがとうございました。
お手数をおかけ致しました。
助かりました。
ツイート | ![]() |