※ ChatGPTを利用し、要約された質問です(原文:iostream インクルード時に発生するエラー)
VisualStudio2008でC++の勉強中にインクルードエラーが発生する
このQ&Aのポイント
C++の勉強をするためにVisualStudio2008でコードをビルドしようとしたが、インクルードエラーが発生してビルドが失敗する。
エラーメッセージには識別子が見つからないという内容が含まれており、エラーの原因が特定できない。
再インストールを検討したが、同じ現象が再発する可能性があるため、解決策を知りたい。
C++ の勉強をするためにVisualStudio2008にて下記コードをビルドしたのですが、エラーが発生してビルドが失敗しました。
■ コード
#include <iostream>
using namespace std;
int main() {
std::cout << "Hello World !";
return 0;
}
■ 操作
空のコンソールアプリケーションを作成し、ソースファイルに追加>新しい項目 にて "temp.cpp" を追加、コードを入力。その後 ビルド > ソリューションのビルド を実行。
■ エラー(一部)
>> 「説明」 列
warning C4985: 'strlen': 前の宣言に属性が存在しません。
error C2039: 'wmemcpy_s' : '`global namespace'' のメンバではありません。
error C3861: 'wmemcpy_s': 識別子が見つかりませんでした
error C2039: 'wmemmove_s' : '`global namespace'' のメンバではありません。
error C3861: 'wmemmove_s': 識別子が見つかりませんでした
error C2039: 'memcpy_s' : '`global namespace'' のメンバではありません。
error C3861: 'memcpy_s': 識別子が見つかりませんでした
error C2039: 'memmove_s' : '`global namespace'' のメンバではありません。
>>対応する「ファイル」列
d:\program files\microsoft visual studio 9.0\vc\include\exception
d:\program files\microsoft visual studio 9.0\vc\include\iosfwd
d:\program files\microsoft visual studio 9.0\vc\include\iosfwd
d:\program files\microsoft visual studio 9.0\vc\include\iosfwd
d:\program files\microsoft visual studio 9.0\vc\include\iosfwd
d:\program files\microsoft visual studio 9.0\vc\include\iosfwd
d:\program files\microsoft visual studio 9.0\vc\include\iosfwd
d:\program files\microsoft visual studio 9.0\vc\include\iosfwd
プロジェクトのプロパティやインストール時の構成などで何か問題があるのでしょうか。VisualStudio以外にはWindows SDK 、Windows SDK 6.0A、SQL Server2005などが導入されています。
再インストールするのもありかと思ったのですが、原因が分からないとまた同じ現象が発生しそうなため踏み切れません。
よろしくお願いします。
お礼
ありがとうございます、無事ビルドと実行が出来ることを確認できました。 > ms-dosでpathコマンド打ってpathが通ってますか? pathコマンドでは表示されませんでした。VCにてパスをセットしている可能性があるため、以下の手順でINCLUDEパスを確認してみました。 (1) ソリューションエクスプローラのプロジェクトを右クリックしてプロパティ (2) ビルドイベント > ビルド前のイベントのコマンドラインに「echo %INCLUDE%」 すると、以前使用したDDKのインクルードパスが二つ含まれていました。 その後、以下の手順でビルドと実行が正常に行われることを確認しました。 (1) ツール > オプション > プロジェクトおよびソリューション > VC++ディレクトリを開く (2) ディレクトリを表示するプロジェクト を インクルードファイル (3) 余計なインクルードパスを、↓矢印ボタンで最下位へ持っていく (4) 適用して ビルド > ソリューションのビルド ありがとうございました。