sal.hの入手方法

解決


itokoi  2009-01-08 04:43:29  No: 69393

はじめまして、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はインストールし、
インクルードしました。

宜しくお願い致します。


とおりすg  2009-01-08 06:44:57  No: 69394

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の再インストールとかで解決しないかな?


itokoi  2009-01-10 08:11:15  No: 69395

わざわざご回答ありがとうございます。

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はインストールし、
>インクルードしました。

はインクルードファイルの環境変数は設定しましたの間違いです。

宜しくお願い致します。


オショウ  2009-01-11 03:02:48  No: 69396

VS2005/2008ともに、sal.hはあります。
セットアップ中に何かエラーありませんか?
ログか何かエラー情報出力されると思うのですが。

何はともあれ、正常にセットアップされたとは思えません。

※  OSは、WinXP Pro/Vista Ultimate ともにです。

以上。


とおりすg  2009-01-11 04:22:22  No: 69397

ヒマだったのでググってみたら、どうも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/


オショウ  2009-01-11 18:26:30  No: 69398

VC2003ですが、古い環境たたき起こして、検索してみたところ
フルインストールしてあるにも関わらず、sal.hは、存在しま
せんでした。

当然、Microsoft SDKsの方にもありませんでした。

複数のVCのバージョンインストールしていませんか?
環境変数の順序が影響しているように思いましたが・・・

以上。


itokoi  2009-01-12 03:22:29  No: 69399

>とおりすgさん

もしかしてPlatformSDKに別のバージョンがあるかもと思い、
調べてみると「Microsoft PlatformSDK for Vista」があり、
インストールしたところ「sal.h」がでてきました。

前に調べた時にでてきたHPのリンク先が、
「Microsoft PlatformSDK for Server」
でしたのでこれをインストールしたのですが、
これが間違いだったようです。
「sal.h」の問題は解決しました。

サービスパックもあるのをを知りませんでした。
入れておいたのでこれでいくつかのトラブルは防げると思います。

ありがとうございました。

>オショウさん

VC++も、もしかしてと思ったのですが、
混在していませんでした。
インストール時のエラーもログは見ていないのですが、
たぶんでていませんでした。
「PlatformSDK」の問題だったようです。

ご回答ありがとうございました。

お手数をおかけ致しました。
助かりました。


※返信する前に利用規約をご確認ください。

※Google reCAPTCHA認証からCloudflare Turnstile認証へ変更しました。






  このエントリーをはてなブックマークに追加