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

VC++6.0のプロジェクトをVC++2005Expressで動かしたいのですが
エラーが出まくってしまいます。
VC++6.0では正常にコンパイル終了するものがexpressだと、

・・・string.h(135) : warning C4003: マクロ '__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX' に指定された実引数の数が少なすぎます。

とか、

・・・string.h(135) : error C2065: '_string' : 定義されていない識別子です。

とか、

・・・string.h(135) : error C2275: '_locale_t' : この型は演算子として使用できません

とかです。string.hなど、触ったこともないのですが、
express用に編集が必要なのでしょうか?

ちなみに PlatformSDK などはインストールして、include,exectable,library ディレクトリなどのパスも通しています。

何か良い方法を教えてください。お願いします。

A 回答 (4件)

私も同様でした。


次のように対処しました。
1.警告気にしないことにする。(警告数は966件)
2.エラーは修正する。
3.ヘッダーファイルがないと言われたときは
  ***.h  を  ***  に変える

 エラー修正は
ネームスペースが原因のものがほそんどでしたので
ofstream ofs を使っていた場合は
その前に
using namespace std;
を書き加える。

設定で

プロジェクト
プロパティー
文字セット

のところは、

マルチバイト文字セットを使用する

にしています。

 以上、エラーは無視します!!
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
結局私も#4さんのアドバイスのように行き着きました。
今後新たにソリューションを作るときには勉強しなおしですが
今はとりあえずこれで進めようと思っています。

お礼日時:2007/03/14 23:24

★文字列関連は全面的に見直した方がいいかも。


・私は『Microsoft Visual Studio.NET 2003 C/C++』を使っていますが、『2005』は
 文字列関連の関数の引数などが大幅に変わったようです。
・初期値では Unicode に設定されていると聞いた事があります。
 プロパティなどで設定を変更したり、<string.h> の文字列操作関数の全面的な
 見直しを行いましょう。
・文字列定数は Unicode 文字も扱えるように TEXT() マクロを利用して定義するように
 心がけて下さい。そうしておけば、プロパティなどで簡単に Unicode 版とシフトJIS版
 のアプリケーションを開発できます。→『TEXT("あいうえお")』と使うだけです。
・下の『参考URL』にちょっとした記事が書いてあります。→参考にして下さい。
・以上。おわり。→地道に .Net 2005 用に移植した方が無難な気がいます。

参考URL:http://www.kumei.ne.jp/c_lang/net2005/index.html …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
そもそもプログラミングは専門外なもので、
6.0の既存のプロジェクトをそのままコンパイル通そうと
したことが、確かに間違いです。
機会を作ってじっくり見直しが必要ですね。

お礼日時:2007/03/14 23:21

全くの推測でしかありませんが、予約済み識別子をマクロとして定義してしまったということはありませんか?


一度、前処理だけを通してみて、エラーが出た箇所を再確認してみることをお勧めします。
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
マクロ定義のようなことはないつもりなのですが・・・。
もう一度見直してみます。

お礼日時:2007/03/14 23:19

__DEFINE_CPP_OVERLOAD_STANDARD_FUNC_0_1_EX


でGoogle英語検索すると情報が幾つか見つかるようです。
参考URL以外にもヒットしますので、探してみてください。

# <string.h>はC言語のヘッダであり、対応するC++のヘッダは<cstring>だし、
# またC++には<string>というヘッダもあったりする。
# このあたり、VC6はnamespaceとか怪しかったので(標準にあわない部分多数)、
# 2005になるなら、いろいろ見直した方がいいのかも知れない。


 VC6はこいつのnamespaceもガタガタです。

参考URL:http://www.codeguru.com/forum/showthread.php?t=3 …
    • good
    • 0
この回答へのお礼

回答ありがとうございます。
参考にさせていただきます。

お礼日時:2007/03/14 23:17

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