題名の通りなのですが、いまいち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ベストアンサー
- 回答日時:
手元に英語版の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;
}
ご丁寧にありがとうございます。ご指摘の通りに修正するとうまくいきました。これで何とか学習のほうもはかどりそうです。また何かあったらよろしくお願いします。(*^。^*)。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# c言語の問題の説明、各所ごとに 5 2023/07/26 11:03
- C言語・C++・C# c言語の問題です 3 2023/01/10 16:15
- C言語・C++・C# C言語のエラーについて 2 2022/07/11 13:56
- C言語・C++・C# プログラミングの授業の課題です 1 2023/01/17 22:15
- C言語・C++・C# C言語 3 2022/10/04 15:07
- C言語・C++・C# C 言語の Gauss Jordan 法について 2 2022/12/28 11:16
- C言語・C++・C# 未解決の外部シンボル _printfが関数_mainで参照されました 1 2022/09/18 15:28
- C言語・C++・C# プログラミング c言語 4 2023/03/07 01:05
- Java java 引数 戻り値のあるメソッド 3 2023/02/12 06:23
- C言語・C++・C# バイナリファイルをコピーするのにかかる時間を測りたいのですが実行するとFatel error:gli 2 2022/11/03 01:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
外部依存関係について
-
コンパイルエラー
-
C++の関数をfortranから呼びた...
-
C言語ソースのオラクルコンパイ...
-
VC2005のDLLを6.0で呼び出すには
-
リンクエラー
-
外部シンボルの未解決のエラー
-
python エラー
-
エクセルのエラーメッセージ「4...
-
<unistd.h>をVisualStudioでつ...
-
アプリケーションのDLLファイル...
-
VBAを何回も作り直して、容量が...
-
math.hに含まれる関数が使えない
-
<math.h>があるのにsqrtが・...
-
DLL参照時に指定されたモジュー...
-
実行後にコンパイルに失敗しま...
-
コンパイルできません。
-
” OS ビルド ” の意味が分か...
-
sys/time.hのインクルードがで...
-
[c++] <pthread.h>がinclude で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
外部依存関係について
-
LNK2019: 外部シンボル どのよ...
-
C++でのエラー LNK2001
-
外部シンボルの未解決のエラー
-
error LNK2001について
-
外部シンボル" ~~"は未解決で...
-
コンパイルエラー
-
OpenCVでの画像サイズ取得につ...
-
LNK2019: 未解決の外部シンボル...
-
エラー 未解決の外部シンボル
-
LNK2001(Pro*c)
-
実行ファイルの容量を減らした...
-
popen・pcloseについて
-
PathIsDirectoryを使って
-
DB2付きのC言語がコンパイルで...
-
C++ の LNK2001エラー
-
CLapack C++
-
外部シンボルについて
-
未解決の外部シンボル
-
VC++ 6.0へのサンプルプログラ...
おすすめ情報