-PR-
解決済み

VC++でエラー

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

お礼率 69% (64/92)

--------------------構成: 01 - Win32 Debug--------------------
コンパイル中...
text.cpp
リンク中...
LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です
Debug/01.exe : fatal error LNK1120: 外部参照 1 が未解決です。
link.exe の実行エラー

01.exe - エラー 2、警告 0

な、なんだ??
何が起こったんだ??
教えてください。
通報する
  • 回答数4
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.4
レベル11

ベストアンサー率 41% (96/229)

Win32 Applicationとは、WinMainから開始されるイベント駆動型のプログラム。
Win32 Console Applicationとは、mainから開始される昔ながらのプログラム。

と、簡単にくくってしまったところで納得行かないでしょうし、実際にはWinMainから始まってもイベント駆動型ではないプログラムも作成できますから。

コンパイラのオプションをよく調べてみますと、/Subsystem:windowsってのが見つかると思うのですよ。これがあると、WinMainから始まるはずだ、とコンパイラは考えるわけですね。
逆に、/Subsystem:consoleと書かれていた場合、mainから始まるはずだ、と考えるわけです。

では、/Subsystemの指定がない場合には、mainがあれば、consoleのつもり、WinMainがあれば、windowsのつもりでコンパイルされるとのこと。

Win32 Applicationで新規作成すると、/Subsystem:windowsになっています。
お礼コメント
Ginga

お礼率 69% (64/92)

詳しいんですね。
とても参考になりました。
ありがとうございました。
投稿日時 - 2001-05-09 07:43:11
-PR-
-PR-

その他の回答 (全3件)

  • 回答No.3

補足読みました。

フリーソフト作成者ねぇ・・・私もそうですが。
一応慣れないうちはウィザードを使ってもいいかと
思います。

ただ、補足を見た限りでは、以下の方法でコンパイル
するだけで充分だと思います。
1.Visual C++を起動する。
2.新規作成ボタンを押す(メニューでなくツールバー)
3.出てきた画面に下のソースを貼り付ける。
4.メニューの「ビルド」「ビルド」を選択し、ビルド。
5.なにやら聞いてくるけど、すべて「はい」を押す。
以上。

ついでにいうのであれば、ANSI Cの勉強をするので
あれば、PC-UNIXのCCか、WindowsであればLSI-Cを
お薦めしますよ。
#コンソールでコンパイルすることになりますが・・・

ではでは☆
お礼コメント
Ginga

お礼率 69% (64/92)

ありがとうございました。
うまくいきました。
やる気出てきたよ。頑張ります。
投稿日時 - 2001-05-09 07:40:07

  • 回答No.1

基本的にVisual C++でプログラムを作成するときには
アプリケーションウィザードで作成する(Windowsの
プログラム)かmain()関数を含むプログラムを作成して
それをコンパイルするかです。

ソースファイルの中身を見ないと詳しいことは
分かりませんが、Windowsプログラムを作成する
のであれば、アプリケーションウィザードを使用
することをお薦めしますよ。
#うまくリンクさせれば、ウィザードはいらない
#のだと思いますが、ウィザードを使うのが一番
#簡単だと思いますよ。

ではでは☆
お礼コメント
Ginga

お礼率 69% (64/92)

ありがとうございます。
ソースはこちら。

/*
計算を行う
*/

#include <iostream.h>

int main(void)
{
int x;
int y;

cout << "x ?";
cin >> x;

cout << "y ?";
cin >> y;

cout << "x+yは"<<x+y<<"です\n";

return (0);
}

ちなみに解説書に載ってました。
フリーソフトを作っている方に教えていただいたのですが、
ウィザードは使わないほうがいいとの事です。
(おまえ初心者なんだから使えよって感じですが、
僕自身こだわるタイプですんで。)

このエラーの意味を聞いたのですが、説明不足でした。
どういう意味ですか?
投稿日時 - 2001-05-08 16:55:24
  • 回答No.2
レベル13

ベストアンサー率 33% (427/1283)

補足のソースコードそのままでコンパイル出来て実行出来ました。

 エラーの内容:
 そのままですね。WinMainシンボルがないよって言っているのです。
 そんなもん使っていないって言われるかもしれませんが、プロジェクトの作成方法が間違っている可能性が高いので、プロジェクトの作り方から補足下さい。

 ちなみに、ウィザードは仕組みを理解して使えば便利です。よ。

 私は、”Win32 Console Application"でプロジェクトを作成して、組込みプリヘッダーの使用しないにして、コンパイル・リンクして、EXEを作成して実行しました。
お礼コメント
Ginga

お礼率 69% (64/92)

Win32 Applicationで作りました。
Win32 Console Applicationと何が違うのですか?
初心者ですからもう少し詳しくお願いします。
ありがとうございました
投稿日時 - 2001-05-08 17:29:56
このQ&Aのテーマ
このQ&Aで解決しましたか?
AIエージェント「あい」

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

関連するQ&A
-PR-
-PR-
このやり方知ってる!同じこと困ったことある。経験を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


専門家があなたの悩みに回答!

-PR-

ピックアップ

-PR-
ページ先頭へ