解決済み

コンパイルエラー

  • すぐに回答を!
  • 質問No.4189285
  • 閲覧数740
  • ありがとう数39
  • 気になる数0
  • 回答数9
  • コメント数0

お礼率 47% (16/34)

本日からC++を勉強しはじめました。
使用しているコンパイラはBORLAND C++ COMPILER 5.5 です。

#include<iostream>
int main(){
cout<<"hello";
return 0;
}
上記をコンパイルすると下記のエラーが出ます。
いったいどこがいけないのでしょうか。
どなたか教えてくださいませ。

Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland
123.c:
致命的エラー F1003 C:\BORLAND\BCC55\include\stdcomp.h 5: error 指令: Must use C++ for STDCOMP.H
*** 1 errors in Compile ***
*** コンパイル終了 ***

質問者が選んだベストアンサー

  • 回答No.7

ベストアンサー率 37% (122/322)

> bcc32 123.c でコンパイルしましたが結果は同じです。
いえ、bcc32 -P 123.c でコンパイルして下さいって意味でした。。

ANo.1さんの書かれているように、using namespace std; を追加するとかは必要でしょう。
お礼コメント
donaji

お礼率 47% (16/34)

JaritenCat 様

using namespace std; を追記し
bcc32 -P 123.c でコンパイルできました。

入門者なので良くわからないのですが、
"-P" は、どのような場合に使い分けるのですか?
投稿日時 - 2008-07-19 23:17:18

その他の回答 (全8件)

  • 回答No.9

ベストアンサー率 31% (1589/5031)

#4の者です。

> ファイル名は変更せずに
C++のコードなのですからソースファイルの拡張子をcppにしましょう。
  • 回答No.8

ベストアンサー率 37% (122/322)

> "-P" は、どのような場合に使い分けるのですか?

簡単にまとめます。
拡張子がcのとき・・・C言語としてコンパイルしますので、C++で書いたものをコンパイルするときは、-Pオプションが必要です。
 bcc32 -P 123.c でコンパイルします。
-Pオプションを指定しないと、質問のエラーがでます。

拡張子がcppのとき・・C++言語としてコンパイルしますので、-Pオプションは不要です。
 bcc32 123.cpp または、 bcc32 123 でコンパイルします。
※C++で書いたものは、拡張子をcppにすることをおすすめします。

ついでに、
<iostream>でも<iostream.h>でも使えるようですが、iostream.hは時代遅れなので使ってはいけません。
<iostream>をインクルードする場合は、coutが分からないというエラーが出ると思いますので、using namespace std; をいれるか、coutをstd::coutにしましょう。(後者の方をおすすめします)
お礼コメント
donaji

お礼率 47% (16/34)

JaritenCat 様 ありがとうございました。
投稿日時 - 2008-07-20 09:50:59
  • 回答No.6

ベストアンサー率 37% (122/322)

失礼。今は iostream.h は使わないんですね。
やっぱり、コンパイル時に-Pオプションをつけて強制的にC++でコンパイルするより、素直に拡張子をcppにした方がいいでしょう。
  • 回答No.5

ベストアンサー率 23% (3656/15482)

えっと....
Borland C++ では iostream.h を #include しなきゃならないんでしょうか?>#3
もしそうならさっさと捨てるべきですね.
  • 回答No.4

ベストアンサー率 31% (1589/5031)

> 拡張子の問題ではないような・・。
明らかに拡張子の問題です。
補足コメント
donaji

お礼率 47% (16/34)

正常にコンパイルされた下記のファイルを
#include <stdio.h>

void main()
{
printf("Hello.\n");
}
ファイル名は変更せずに問題のあった下記リストに書き換えてみたのですが
#include<iostream>
int main(){
cout<<"hello";
return 0;

}

同じエラーが出てしまいました。
投稿日時 - 2008-07-19 22:53:27
  • 回答No.3

ベストアンサー率 37% (122/322)

bcc32 -P ソース.c でコンパイルすれば大丈夫でしょう。
#include<iostream> → #include <iostream.h> では?
補足コメント
donaji

お礼率 47% (16/34)

コマンドラインから
bcc32 123.c でコンパイルしましたが結果は同じです。

また、#include<iostream> → #include <iostream.h>
に変更してみましたが、やはり同じエラーが出てしまいました。
投稿日時 - 2008-07-19 22:34:28
  • 回答No.2

ベストアンサー率 49% (2799/5705)

ソースファイルの拡張子は何になっていますか?
拡張子からコンパイラ側がそれをC++のソースとして認識していないときに
よく出るエラーのようですが。
拡張子を*.cppでやってみていかがでしょうか?
http://dn.codegear.com/jp/article/26442
補足コメント
donaji

お礼率 47% (16/34)

拡張子は *.c です。
フリーの「C言語を始めよう!」というエディタ
を利用しているので拡張子の問題ではないような・・。
ちなみに同じエディタで書いた下記のプログラムは
正常にコンパイルされ動いています。
投稿日時 - 2008-07-19 22:23:56
  • 回答No.1

ベストアンサー率 47% (287/608)

#include<iostream>
using namespace std;
int main(){
cout<<"hello";
return 0;
}



#include<iostream>
int main(){
std::cout<<"hello";
return 0;
}

で,行けませんか?
補足コメント
donaji

お礼率 47% (16/34)

using namespace std;
を追記しましたが、結果は同じでした。
投稿日時 - 2008-07-19 22:10:01
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,500万件のQ&Aを分析して最適な回答をご提案します。

こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

特集


OKWAVE若者応援スペシャル企画

ピックアップ

ページ先頭へ