• ベストアンサー

BCC・stdio.h・_stddef.hのエラー

BCCと同梱されているstdio.hのエラーなのですが、 stdio.hのエラーは他では出なかったので、 ソース自体がおかしいのかと思っていますが、よく分かりません。 一応ソースを載せます。 #include <stdio.h> int main(int argc, char *argv[]) { if(argv[1] == "") { printf("---(Ver1.00.01)\n"); printf("easy.exe [filename]\n"); printf(" [filename] - ファイル名を指定してください.\n"); } return 0; } これによって次のエラーを吐いてきます。 エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\_stddef.h 53: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\_stddef.h 72: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 51: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 104: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 105: 宣言が正しく終了していない エラー E2293 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 140: ) が必要 エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 150: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 151: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 152: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 154: 宣言が正しく終了していない エラー E2293 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 155: ) が必要 エラー E2293 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 156: ) が必要 エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 160: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 161: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 162: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 164: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 165: 宣言が正しく終了していない エラー E2141 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 166: 宣言の構文エラー エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 172: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 173: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 174: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 175: 宣言が正しく終了していない エラー E2141 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 177: 宣言の構文エラー エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 181: 宣言が正しく終了していない エラー E2040 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 188: 宣言が正しく終了していない エラー E2228 C:\[本名のローマ字表記] Program Files\Borland\bcc32\include\stdio.h 188: エラーあるいは警告が多すぎる stdio.h,_stddef.hのソースは一切変えたりしていません。 また、BCCのエラーは、stdio.hとprintfを抜いて int main(int argc, char *argv[]) { if(argv[1] == "") { } return 0; } としたときに 宣言が正しく終了していない と表示されます。 環境は WindowsXP SP1 BCC Developer です。 よろしくお願いします。

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

  • ベストアンサー
  • 1839cc
  • ベストアンサー率54% (12/22)
回答No.4

もしNO3さんの方法を試してもダメで、使用しているのが試供版のBCCでしたら、Borlandフォルダ以下をルートに変えてみてください。 スペースを含むパスに弱いのかもしれません。

manafi_lv100
質問者

お礼

ご回答ありがとうございます。 BCCのバージョンは5.5.1で「猫でも分かるC言語プログラミング」という本から入手しました。 もしかしたら、1839ccさんの言うようにスペースを含むパスに弱いかもしれないので、 また今度ルートを変えてみようと思います。

その他の回答 (3)

回答No.3

>stdio.hのエラーは他では出なかったので、 >ソース自体がおかしいのかと思っていますが、よく分かりません。 bcc32.cfg ilink32.cfg を設定しましたか? それとパス設定 こちらのbcc551ではコンパイルは、とおりますよ

manafi_lv100
質問者

お礼

ご回答ありがとうございます。 一応setbccを使ってbcc32.cfg,ilink32.cfg,環境変数は設定済みです。 それでも上手く行きませんでした。

  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

BCC Developerでソースをコピーしてコンパイルしましたがエラーは出ませんでした 質問とは関係ないと思われますが argv[1] == "" は間違いですね argcの値でチェックしたほうがいいと思います

manafi_lv100
質問者

お礼

ご回答ありがとうございます。 猫でもわかるC言語プログラミングという本を見ると argcの値は自身までのパス+自身の名前となっていたので自分の意図していたもの(コマンドラインからのオプションだけを取得する)では無いので、 argcの値ではチェックしませんでした。

noname#26650
noname#26650
回答No.1

>BCCと同梱されているstdio.hのエラーなのですが、 当方のBorland C++ Compilerでは、その現象には見舞われませんでした。 Borland C++ Compilerをもう一度インストールしてみてはいかがでしょうか。

manafi_lv100
質問者

お礼

ご回答ありがとうございます。 このソースとは違うソースだとstdio.hからエラーを出してこないので、多分ファイルが欠けていることは無いと思っています。

関連するQ&A

  • stdio.hをオープンできない…

    borlandのコンパイラーについての質問です(昔本付属のCDからインストールしたものです。verは5.5だと思われます。) ソースファイル include<stdio.h> void main(void){ printf("おめでとう!!\n"); } コンパイル c:\borland\bcc55\bin>bcc32 basic.c エラーメッセージはE2209 basic.c 1:インクルードファイルstdio.hをオープンできない、となります。このためprintfが使えないエラーメッセージも表示されます。過去の質問を色々と見させて頂きました。以前(昨年夏頃)には使えていた為、必要なファイルが消えている等の原因はなさそうです。メモ帳でbcc32も開いてみましたが-I"c:\borland\Bcc55\include"-L"c:\borland\Bcc55\libの表示があったので必要なファイルも開けているのではないかと勝手に解釈しています(bcc32.cfgフォルダなるものは存在しませんでしたが…)。いろいろと頑張ってみたのですがどうにもダメそうです。コンパイラが作動しないと課題が前に進まないため、大変困っています。是非皆様のお力をお貸し下さい。よろしくお願いします。

  • 複素数complex.hがおかしいのでしょうか?

    C言語初心者です。 根本的に間違えているかと思いますが、下記内容で困ってます。 C++で複素数を扱いたいと思い #include<complex.h> うんだら ふんだら と書きました。 環境は、Borland C++ 5.6 for Win32だと思います。 メモ帳でソースを作って、コマンドプロンプトでbcc32 ***.c とコンパイルしたのですが、ヘッダーファイルのエラー?が 出てるようです。(詳細は下記に示してます。) おそらく根本的なエラーが出てるとはおもうのですが、 エラーの内容が理解できません。ヘッダーファイルがどこにあるのかも わかりません。どうすればエラーがなくなるのか教えて頂きたいです。 よろしく御願い致します。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ エラー E2257 C:\Program Files\Borland\CBuilder6\Include\stl/_mbstate.h 52: , が必要 エラー E2453 C:\Program Files\Borland\CBuilder6\Include\stl/type_traits.h 64: '__true_type' 型のサイズは未知あるいはゼロ エラー E2453 C:\Program Files\Borland\CBuilder6Include\stl/type_traits.h 65: '__false_type' 型のサイズは未知あるいはゼロ エラー E2141 C:\Program Files\Borland\CBuilder6\Include\stl/type_traits.h 68: 宣言の構文エラー           ・           ・           ・ ↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑

  • Borland C++ Compiler で winbase.h を使えないのですが・・・

    Borland C++ Compiler を使っているのですが,winbase.h 自体が使用できません。 次のようなプログラムでもコンパイルが通りません。 #include <winbase.h> int main(void){ return 0; } エラーは以下の通りです。 *** コンパイル開始 *** Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland ########.c: エラー E2139 C:\borland\bcc55\Include\winbase.h 227: 宣言に ; がない エラー E2238 C:\borland\bcc55\Include\winbase.h 228: 'ULONG_PTR' の宣言が複数見つかった エラー E2344 C:\borland\bcc55\Include\winbase.h 227: 一つ前の 'ULONG_PTR' の定義位置 (中略) エラー E2228 C:\borland\bcc55\Include\winbase.h 263: エラーあるいは警告が多すぎる *** 26 errors in Compile *** *** コンパイル終了 *** どうすればよいでしょうか? 何かちょっとした情報でもお願いします。

  • stdio.h について

    質問です。 Borland C++ Compiler 5.5 を使っているのですが…。 Includeの中にstdio.hのファイルがありません stdio.hのソースを教えて下さい!!

  • コンパイル時のエラーについて教えてください

    よろしくお願いします。現在、Borland社のC++compiler5.5を使ってます。プログラムファイル名 は、「hello.c」です。 1: #include <stdio.h> 2: 3: int main(void) 4: { 5: printf"(hello,world"); 6: return 0; 7: } このプログラムをc:\borland\bcc55\lessonの「lesson」の中に入れてます。コマンドプロンプトで、c:\borland\bcc55\lessonに移動してから,bcc32 hello.cを実行すると, 1、エラーE2040 hello.c 1:宣言が終了していない。 2、エラーE2206 hello.c 1:不正な文字 "#"(0×23) と出ます。 何度やり直しても、同じ結果が出ます。間違いに気づかないのですが、詳しい方、ご指摘をお願いします。

  • コンパイル時のエラーについて>エラー E2209 警告 W8065?

    以前にも似たような質問がでていましたが・・・ 初心者なのですが下記のようにエラーによりコンパイル出来ません。 どなたか原因のわかる方いましたらいお教え下さい。 宜しくお願いします。  C:\source>bcc32 sample1.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample1.c: エラー E2209 sample1.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample1.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main) *** 1 errors in compile *** もちろんbinディレクトリに bcc32.cfg【-I"c:\Borland\Bcc55\Include" -L"c:\Borland\Bcc55\Lib"】 と ilink32.cfg【-L"c:\Borland\Bcc55\lib"】 は入れてあります。 なんでできないんでしょかTT

  • stdio.hからsyntax error??

    10日でおぼえるC言語教室という書籍を購入し、その通りにシステム環境変数の設定を行ったのですが、stdio.hに対してNo such file or directoryの様な?文が出てきてしまいました。 そこで自分なりに調べた結果、ネット上にC_INCLUDE_PATHとCPLUS_INCLUDE_PATHも追加で設定する必要があると書いてありました。 この時点ですでに???ですが…とりあえずやってみたところNo such~のエラーはでなくなりました。 ただ、代わりにsyntax errorなどの様なエラーが沢山出てきてしまいました。(しかし、exeファイルは出来ていて実行は可能です) 自分で書いたコードなら書き間違いだと思うのですが、stdio.hは付属のCDーROMからのものなのでミスは無いと思うのですが… OSはvistaで、CドライブとDドライブが入っているものです。 この書籍でのCコンパイラはMinGWです。書籍付属のCD-ROMからmingw-jpを任意の場所(今回はDドライブ→新規→プログラム→MinGWの中)にコピーしてシステム環境変数pathの設定を行うとgccでコンパイルが可能というものです。 ちなみにシステム環境変数pathに設定したbinというフォルダがあるのは、mingw-jpの中で、場所はDドライブ→新規→プログラム→MinGW→mingw-jp→binです。 変数pathに追加したのは ;D:\新規\プログラム\MinGW\mingw-jp\bin; です。 C_INCLUDE_PATHとCPLUS_INCLUDE_PATHは両方ともD:\新規\プログラム\MinGW\mingw-jp\includeと記述しました。stdio.hはincludeのフォルダの中にちゃんとありました。 実際はmingw-jpの中にcodeというフォルダを作り、その中にhelloというフォルダを作り中にhello.cを記述してあります 以下がエラーの一部です D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:206: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:217: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:218: error: syntax error before "__gnuc_va_list" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:219: error: syntax error before "__gnuc_va_list" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:220: error: syntax error before "__gnuc_va_list" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:221: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:224: error: syntax error before "size_t" D:/新規\プログラム\MinGW\mingw-jp\include/stdio.h:226: error: syntax error before "size_t" 実際はまだまだエラーが続いてます ここで 1.書籍にはシステム環境変数pathの設定のみしか書いてありませんでしたが、上記のNO~というエラーが出てしまいます。私の設定の仕方が悪いのでしょうか 2.C_INCLUDE_PATHとCPLUS_INCLUDE_PATHを追加すると1のエラーは無くなりましたがこれってどういう事なのでしょうか 3.stdio.hに対してエラーが沢山出ていますが、これって何なのでしょうか 4.syntax errorが出ているのに実行ができるのは何故なのでしょうか 5.この方面は素人同然なので文中の解釈が変かもしれませんが、ご指摘があればお願いします 自分でも調べてみましたがお手上げ状態です。助けていただければ幸いです

  • Borland C++ Compilerのエラーについて

    初心者なもので教えてください!! エラーE2209「インクルードファイル’stdio h’をオープンできない」 警告W8065「プロトタイプ宣言のない関数’printf’の呼び出し(関数main)」 と出てきてしまうので、この掲示板の過去のページを参考に、 1)bcc32.cfgの内容見直し(拡張子も.cfgになってます) 2)インクルードファイル、ライブラリファイルがC:borland\bcc55にあるか確認 3)bcc32.cfgとbcc32.exeが同じC:borland\bcc55\binにあるか確認 4)環境変数にC:borland\bcc55\binに加えてあるか確認 …と頑張ってみたのですが、解決しません!! お願いです。助けてください(TОT)

  • コンパイラの設定

    Borland C++ Compiler 5.5をインストールしコンパイルしようとすると hello.c: エラー E2209 hello.c 1:インクルードファイル'stdio.h'をオープンできない。 警告 E8065 hello.c 4:プロタイプ宣言のない関数'printf'を呼び出し(関数 main()) *** 1 errors in Compile*** と出ててしまいました。 そして、過去にも同じような質問があり、 bcc32.cfgファイルに -I"c:\borland\Bcc55\include" -L"c:\borland\Bcc55\lib" を作成しても、何も変わらないのですが…。 教えて下さい。

  • コンパイル時のエラーについて>エラー E2209 警告 W8065?

    初心者なのですが下記のようにエラーによりコンパイル出来ません? どなたか原因のわかる方いましたらいお教え下さい。 宜しくお願いします。  C:\source>bcc32 sample1.c Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland sample1.c: エラー E2209 sample1.c 1: インクルードファイル 'stdio.h' をオープンできない 警告 W8065 sample1.c 4: プロトタイプ宣言のない関数 'printf' の呼び出し(関数 main)