プロが教えるわが家の防犯対策術!

visual C++ 6.0 で作成したプログラムがあります。このソースリストをVisual Studio 2005 Express Edition の Visual C++ 2005 Express Editionでコンパイルしようとしましたが、#include <Windows.h> でエラーになって先に進みません。対応したWindows.hの入手方法教えてください。
それとも、そもそも、Visual C++ 2005 Express Editionでは昔のVC++のプログラムはコンパイルできないのでしょうか?

A 回答 (5件)

>そこで、ハードディスク内からafxres.h を探したところ2箇所


>SDKの\include\mfc の中と\Samples\NetDS\ADSI\samples\General\DsBrouse\bitmapsの中にありました。両者は異なる内容でどちらを使ってよいのかわかりません。ためしにそれぞれをプロジェクトのディレクトリにコピーしたところ、いずれのafxres.h を使っても、今度は'winres.h'がないと言われます。

PlatformSDKに入っていたンですかね。
winres.hは「SDKの\include\mfc の中」にありませんか?
Visual Studio 2005 Express Editionでインクルードパスを追加したらそのまま行けるかも知れません。
# そこまでExpressEditionで試していませんが。
[ツール]-[オプション]の「プロジェクトおよびソリューション」の「VC++ ディレクトリ」でPlatformSDKのインクルードパスを指定したハズですので、
「include\mfc」も追加してみては?
ライブラリの方で問題が出た場合にはリンク出来ませんが。
    • good
    • 1
この回答へのお礼

回答ありがとうございます。
>「include\mfc」も追加してみては?
やっぱりだめでした。だんだんエラーの数が増えていってます。

Visual C++ 20005 でコンパイルするために、これ以上時間を使うわけにいきませんので、プログラムの再利用をあきらめるか、Visual C++ 6.0 を探し出して、再利用するかの決断をすることにしました。

お礼日時:2007/10/24 19:30

>今度は、'afxres.h'が見つからないというエラーになりました。



確か、VCのリソースエディタが参照するファイルだったかと。
VC6.0のヤツをプロジェクトのディレクトリにコピーしてみたら使えるかも知れません。
試したことはありませんが……

ExpressEditionだとリソースエディタが付属していないので、
結構面倒かと。(探せばフリーのリソースエディタがありますが)

ExpressEditionでも、MSに登録していればアップグレード版が利用可能だったと思います。
2万円前後でStandard版に入れ替えてしまいました。
# 発売2ヶ月前にVC++.Net2003買っていたり。
    • good
    • 0
この回答へのお礼

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

>VC6.0のヤツをプロジェクトのディレクトリにコピーしてみたら使えるかも知れません。
具体的にどうやるのでしょう?
手元にあるソースリストにはafxres.hというファイルはありません。
そこで、ハードディスク内からafxres.h を探したところ2箇所
SDKの\include\mfc の中と\Samples\NetDS\ADSI\samples\General\DsBrouse\bitmapsの中にありました。両者は異なる内容でどちらを使ってよいのかわかりません。ためしにそれぞれをプロジェクトのディレクトリにコピーしたところ、いずれのafxres.h を使っても、今度は'winres.h'がないと言われます。
VC6.0のafxres.hをどこかで入手しないとだめなのでしょうか?

お礼日時:2007/10/21 20:43

VC2003以降だったVC2005以降だったか忘れたけど。

。。
Windowsアプリケーションを作成する為には、
WindowsSDK(PlatformSDK)が必要です。

VC++6.0で作成したプログラムがMFCまたはATLのアプリケーションの
場合は残念ながらVC2005Express Editionではコンパイルできません
ProfassinalかStanderdを購入する必要があります。
    • good
    • 0
この回答へのお礼

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

>WindowsSDK(PlatformSDK)が必要です。
確かにそうでした。

でも、SDKをインストールしたら、今度は、'afxres.h'が見つからないというエラーになりました。

お礼日時:2007/10/20 00:04

 No.1ですが、過去にこんな質問がありましたよ



「windows.hがincludeされない」
http://oshiete1.goo.ne.jp/qa2877508.html

 確認済みでしたら…。(PlatformSDK絡みだと思うのですが)
    • good
    • 0
この回答へのお礼

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

>PlatformSDK絡みだと思うのですが
確かにそうでした。
紹介くださった質問ページは「良回答」になっていないので、未解決と思い、よく読みませんでした。

早速、PlatformSDKをインストールして、
http://www.microsoft.com/japan/msdn/vstudio/expr …
に従って、修正を加えましたところ、エラーが代わって、今度は、'afxres.h'が見つからないというエラーになりました。
>ただし、大量のコンパイルエラーに対応する必要があるので、次はあまりやりたくないですね。
おっしゃるように、前途多難ですね。

'afxres.h'をファイル検索したところ、このファイルは MSSDK\Include\mfc の中にあることはわかったのですが、なぜ、見つからないのでしょうか?
なお、上記修正の「手順 3. [オプション] ダイアログ ボックスの [プロジェクトとソリューション] セクションで [Visual C++ フォルダ] を更新」のところで、
* Include ファイル - 「MSSDK\include」
を追加してあるのでちゃんと、windows.h は見つかっています。

お礼日時:2007/10/20 00:02

 可能かと問われれば、私も最近visual C++ 6.0のプロジェクトをVisual C++ 2005(Standard Edition)でコンパイルできるように修正しました。



 ただし、大量のコンパイルエラーに対応する必要があるので、次はあまりやりたくないですね。

 取敢えず、私は、#include <Windows.h>を出なかったのですが、開発環境のパス設定は大丈夫ですか?
 エラーメッセージでは何と言っていますか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!