• ベストアンサー
  • 困ってます

visual c++ 2008 でwindows プログラミングをしたい

  • 質問No.3855472
  • 閲覧数1373
  • ありがとう数3
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 79% (50/63)

題名の通りなのですが、いまいちVC++2008の使い方がわかりません。2005対応の参考書などを用いて学習し理解は進んではいるのですが、ところどころ本の内容と微妙に一致しないところがあったりして実際にアプリケーション作成に至らず困っています。

1.まず、お聞きしたいのですが、プロジェクトの種類はWin32で、テンプレートはWin32プロジェクトでよいのでしょうか?

2.参考書に従って次のようなコードを作成しました。
#include "windows.h"

int APIENTRY WinMain(HINSTANCE hinstance,
  HINSTANCE hPrevInstance,
    LPSTR lpCmdLine,
     int nCmdshow)

{


SYSTEMTIME tm;
char s[80];
int iRet;

GetLocalTime(&tm);

if ((tm.wHour) && (tm.wHour < 12)) {
lstrcpy((LPSTR)s, (LPCSTR)"おはようございます。");
} else if (tm.wHour < 17) {
lstrcpy((LPSTR)s,(LPCSTR)"こんばんは。");
}


iRet = MessageBox(NULL,(LPCSTR)s,(LPCSTR)"MsgBox",MB_OK);
return 0;
}

しかし、次のようなエラーが発生しました。
1>MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
1>C:\Users\xxxxxxxxx\Documents\Visual Studio 2008\Projects\MsgBox\Debug\MsgBox.exe : fatal error LNK1120: 外部参照 1 が未解決です。
この場合どうすればいいのでしょうか?

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 52% (430/816)

手元に英語版の2008しかないので英語表記で説明しますが、
恐らく「Win32 Console Application」を選択しましたね?
ではなく「Win32 Project」を選択してください。

>MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。
このエラーはエントリポイント(プログラム開始位置)mainを探しにいこうとしているがmainが無いというエラーです。
コンソールプログラムの場合はWinMainではなくmainがエントリポイントですので
このようなエラーが発生します。

win32 projectからプロジェクト名を入力して
okボタンを押していけば
WinMainを含んだコードが自動で作成されると思います。
(そのとき「Application Setting」の「Emply Project」にチェックが入っていると自動でコードは作成されません)

恐らくその参考書に載っているコードをそのままうつしても
更に他のコンパイルエラーに悩まさされるでしょう・・・。(その都度質問してください)
とりあえず下記のコードが通るように頑張ってください。

#include <windows.h>
int APIENTRY _tWinMain(HINSTANCE hinstance,
  HINSTANCE hPrevInstance,
    LPTSTR lpCmdLine,
     int nCmdshow)

{
::MessageBox( NULL , _T("hello") , _T("workd") , MB_OK );
return 0;
}
お礼コメント
rew

お礼率 79% (50/63)

ご丁寧にありがとうございます。ご指摘の通りに修正するとうまくいきました。これで何とか学習のほうもはかどりそうです。また何かあったらよろしくお願いします。(*^。^*)。
投稿日時:2008/03/12 15:13
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

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

関連するQ&A

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

ピックアップ

ページ先頭へ