A 回答 (3件)
- 最新から表示
- 回答順に表示
No.3
- 回答日時:
やはりmain関数を定義していないことが原因です。
GUIプログラムであるかどうかは関係ありません。以下難しい話になりますが、一応説明します。
Cygwinでは、
スタートアップ → main → WinMain
の順に呼び出すようになっているのですが、main関数を定義していないと、ライブラリ内のmainが勝手に使われて、そこからWinMainを呼び出そうとします。
ISO/IEC 14882:2003の3.6.1 Main functionには、
An implementation shall not predefine the main function.
とあるので、厳密に言えばこれは規格違反なのですが、Windowsに対応するためのやむを得ない処置と考えられます。
ご回答ありがとうございます。
main関数を定義するのを忘れていました。13行目のvoidのあとに加えればいいのかな…?
丁寧な説明ありがとうございました!
No.2
- 回答日時:
内容というより質問の仕方自体も初心者ですね。
どういう環境で、どういうプログラムを作って、どのようなコマンドでコンパイルしたら
こうなりました。
くらいは書かないと。
で、#1の方と同じくcygwinを使ったWindows上でコンパイルしたものと推測します。
作成したプログラムはWindowsのメッセージボックスを出すとか
そんな感じのプログラムじゃないですか?
>gcc --target-help
Target specific options:
-mthreads Use Mingw-specific thread support
-mnop-fun-dllimport Ignore dllimport for functions
-mdll Generate code for a DLL
-mconsole Create console application
-mwin32 Set Windows defines
-mno-win32 Don't set Windows defines
-mwindows Create GUI application
-mno-cygwin Use the Mingw32 interface
ということで、Windows GUI用プログラムということを指定してみてくださいな。
しかし初心者がWindows GUIプログラム作るのにcygwin gcc使うの?
この回答への補足
ご回答ありがとうございます。確かに質問の仕方が意味不明でした。すみません。
環境は環境はcygwinのgccを使っています。
作ったプログラミングはタグが含まれる文字列を解析するもので、以下のように作成しました。
#define MAXELMNUM 256
typedef struct {
char *tag;
int depth;
char *value;
} ELEMENT;
char *parse_ml_data(char *, int);
ELEMENT elmtbl[MAXELMNUM];
int elmnum = 0;
void parse_ml_string(char *mlstr)
{
while(*mlstr != '\0'){
mlstr = parse_ml_data(mlstr + 1, 1);
}
}
char *parse_ml_data(char *mlstr, int level)
{
/*開始タグ処理*/
elmtbl[elmnum].tag = mlstr;
elmtbl[elmnum].depth = level;
for (; *mlstr != '>'; mlstr++);
*mlstr = '\0';
/*タグの値処理*/
elmtbl[elmnum].value = mlstr;
for ( *mlstr++; *mlstr != '<'; mlstr++);
*mlstr = '\0';
elmnum++;
/*下位のタグ構造処理*/
while(*(mlstr + 1) = '<')
mlstr = parse_ml_data(mlstr + 1, level + 1);
/*修了タグ処理*/
for (mlstr += 2; *mlstr != '>'; mlstr++);
return mlstr + 1;
}
No.1
- 回答日時:
書いてあるとおりです。
`WinMain@16`というシンボルを参照しようとしたけれども、定義されていないのでリンクエラーになっています。
エラーメッセージからCygwinのようですが、考えられる可能性はWinMainまたはmainを定義していないからです。ただし、正確なところはソースを見なければ分かりません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# プログラム Arduino 1 2022/07/03 11:13
- その他(プログラミング・Web制作) ラズパイ上の、pythonのエラーについて 1 2023/04/12 23:27
- C言語・C++・C# ExcelCS 1 2023/01/27 19:47
- C言語・C++・C# プログラミングの問題です。至急教えてください。 /***から***/の部分をプログラミングにしてほし 1 2022/10/13 11:48
- MySQL 参考書に従って入力したつもりでしたが、最後はエラーがでました。 1 2022/09/28 03:45
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- 仕事術・業務効率化 IF関数で時間指定をして、数値を切り上げたいです 1 2022/05/01 23:37
- Windows 10 Windows Updateの更新ができない場合に初期化 3 2023/01/18 20:00
- Visual Basic(VBA) VBAでファイルを開くプログラムがエラーです 2 2023/02/21 16:56
- その他(プログラミング・Web制作) Pythonのライブラリ、randomについて 3 2022/09/20 14:30
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
Arduino nano(アルドゥイーノ ...
-
積分を台形則を用いて計算する
-
Webプログラムってネイティブア...
-
世界一美しいソースコード
-
10個の実数に対する降順ソート...
-
2値化した画像の黒い部分のピク...
-
プロダクションコードとは?
-
VBA
-
指定したフォルダーを最前面表...
-
Excel VBA で、データベースフ...
-
Directshowのサンプルを利用して
-
無限ループ中にある任意のキー...
-
C言語→MATLABへの変換で、困っ...
-
signalハンドラに引数を渡したい
-
マイコンからプログラムを読み...
-
三次元のグラフを書きたいので...
-
ユーザインタフェースにテキス...
-
初級者の質問――time_tについて
-
direcetsoundでmp3再生方法
-
VBAにてTIFFから画像を取込みた...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba listviewにおけるtextのAli...
-
プロダクションコードとは?
-
指定したフォルダーを最前面表...
-
Webプログラムってネイティブア...
-
COBOLのS9タイプからXタイプへ...
-
VBコンソールアプリ(.NET Frame...
-
VBA
-
2値化した画像の黒い部分のピク...
-
初級者の質問――time_tについて
-
無限ループ中にある任意のキー...
-
Arduino nano(アルドゥイーノ ...
-
世界一美しいソースコード
-
VBAにてTIFFから画像を取込みた...
-
C言語でpingを実行してその結果...
-
三次元のグラフを書きたいので...
-
マイコンからプログラムを読み...
-
C言語→MATLABへの変換で、困っ...
-
XPathの関数「text()="value"」...
-
URLの最初の「h」を略す
-
プログラミングの問題と解答例...
おすすめ情報