[lex.h]
http://kari.to/upload/source/2737.xxx
[lex.cpp]
http://v.isp.2ch.net/up/270f0a944e6e.htm
[perser2.cpp]
http://v.isp.2ch.net/up/93d829742fc7.htm
これらのファイルを
g++ parser2.cpp lex.cpp -o parser2
としてやる事でユニックス上ではコンパイルできたのですが、同じファイルらを使ってもウィンドウズ上のMinGWでは
parser2.cpp:329: `main' must return `int'
lex.cpp: In member function `TToken* TLex::getConstant()':
lex.cpp:60: warning: passing `double' for argument 2 of `
TToken::TToken(TTokenID, int, double, int, char*, int)'
というエラーが出ました。どのようにすればウィンドウズ上でもコンパイルできるのでしょうか。
また、
g++ parser2.cpp lex.cpp -o parser2
のような二つのソースファイルから一つの実行ファイルを作っているようですが、このような方法について教えていただけないでしょうか。
宜しくお願い致します。
No.1ベストアンサー
- 回答日時:
エラーは2種類。
1つめが完全なエラーとして処理されて、実行ファイルが作られていないようです。
perser2.cppにあるmain関数の返り値をintにして、最後に
return 0;
でも入れてください。
C言語の仕様としては、こちらのほうが正式です。
警告だけで流してくれるコンパイラも多いですが。
2つめはただの警告(Warning)。
残しておくと妙なバグの原因になったりするので、できるだけ消しておいたほうがいいです。
lex.cppのgetConstant()にある、
double v;
を
int v;
ぐらいに変えてみてください。
何でここにわざわざdoubleを使ってるか謎ですけど・・・
コンパイルオプションに-Wallを追加しておくと、もっと細かい警告(1回も使わない変数を宣言してるとか)も出してくれます。
無視しても平気な警告が多いですが、潰せるものは潰しておいたほうがいいです。
コンパイラの出すエラーなんて簡単な英語が多いですから、読む癖をつけておいたほうがいいですよ。
良く出てくるエラーの種類なんてたかが知れています。
一つ目と二つ目を両方修正するとまたいろいろとエラーが出て実行ファイルは作成されませんでしたが、一つ目の完全なエラーの方だけを教えていただいた通り修正した場合、
lex.cpp: In member function `TToken* TLex::getConstant()':
lex.cpp:60: warning: passing `double' for argument 2 of `
TToken::TToken(TTokenID, int, double, int, char*, int)'
の警告は出ましたが、実行ファイルは作成され意図した動作をしました。ありがとうございます。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# const char** p;のとき、free(p)でC4090エラーとなるのはなぜですか 3 2023/03/31 16:28
- その他(プログラミング・Web制作) python fbprophetについて 1 2022/09/29 19:44
- Visual Basic(VBA) 【マクロ】フォルダにファイルが1つも無い時に、ファイルがありませんとメッセージを表示する 4 2022/08/28 08:48
- C言語・C++・C# このプログラミング誰か教えてくれませんか 1 2022/06/02 15:27
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 最初に正の整数nの入力を受け付け、次に分数の分子と分 1 2022/07/19 17:03
- Excel(エクセル) excelで検索した商品の画像(ネットワーク上の)を表示させたい。 3 2023/06/28 00:32
- PHP php エラー 2 2022/10/23 16:43
- C言語・C++・C# 至急教えてください。プログラミングの問題です。 malloc関数を使ってください!お願いします! 最 1 2022/07/21 09:28
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# 並列プログラミングのπ計算について 1 2022/07/16 22:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
バッチからsqlplusの接続エラー...
-
コンパイルできません。
-
Excelのエラーで困ってます。
-
ビルドが失敗してしまいます
-
適切な変換関数が存在しない???
-
fortranでプログラムを実行する...
-
Arduinoに関する質問
-
Visual Studioのstrcpy_sについて
-
HEWを使用しているのですが、こ...
-
ビルド失敗 指定されたファイ...
-
WindowsからLinuxへの移植
-
入れ子になっている構造体配列...
-
”wchar_t*型は渡せない”という...
-
sys/time.hのインクルードがで...
-
エラー 'iostream.h' : No su...
-
VB2008で定数に色の設定をした...
-
SONY Readerで公開pdfを読む時...
-
VisualStudio2010 VC++ エラー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
python エラー
-
エクセルのエラーメッセージ「4...
-
バッチからsqlplusの接続エラー...
-
Excelのエラーで困ってます。
-
HEWを使用しているのですが、こ...
-
適切な変換関数が存在しない???
-
VB2008で定数に色の設定をした...
-
fortranでプログラムを実行する...
-
BC30002: 型 'ListItem' が定義...
-
VBAでファイルを開くプログラム...
-
sys/time.hのインクルードがで...
-
error C3867 関数呼び出しには...
-
デバッグ中のエラーのことで教...
-
visual C++ でビルドの中止がで...
-
LPCWSTRとchar
-
RightとLeft関数のライブ...
-
Handlesについて
-
multiple definitionというエラー
-
ACCESSのDate関数のエラー表示...
-
WindowsからLinuxへの移植
おすすめ情報