未解決の外部シンボル

解決済みの質問

未解決の外部シンボル

C言語は少しやっていたことがあり
このたび、Winapiをしてみようと
はじめました。
参考に見つけてきたプログラム

#include <windows.h>
#include <tchar.h>

int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd)
{
MessageBox( NULL, _T("Hello World"), _T("メッセージ"), MB_OK );
return 0;
}

をコンパイルしようとしたところ
error LNK2019:未解決のシンボル __imp__MessageBoxA@16が関数_WinMain@16で 参照されました。
fatal errorLNK1120:外部1が未解決です。

と出てきます。
どうすればいいのでしょうか・・・
困っています誰か助けてください

Windows XP SP3
Visual Studio C++ 2008 Express Edition

投稿日時 - 2009-07-21 23:35:14

QNo.5144873

すぐに回答ほしいです

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

スタートメニューから「Visual Studio 2008 コマンド プロンプト」のようにもので起動しているんですよね?
# 2008 Express Editionは自宅のに入れていないので…

>Includeフォルダに、Windows.hが存在していないのですが・・・

起動したコマンドプロンプトで、SETコマンドを実行すると、
設定されている環境変数が表示されます。
INCLUDE環境変数でWINDOWS.Hのある場所が指定されているでしょう。
さていないとリンカエラーではなくコンパイルエラーです。

>cl test.c でコンパイルしました。

User32.libがリンクされていません。
cl test.c user32.lib として下さい。
ちなみに、環境変数LIBで記述されている先にuser32.libがあるハズです。

# この程度なら問題ないでしょうけど…プロジェクトを作成した方が後々扱いやすくなるかと思います。
# なお、1つのプロジェクトに同じ名前の関数は複数おけませんのでご注意を。
# http://oshiete1.goo.ne.jp/qa5126302.html
# http://oshiete1.goo.ne.jp/qa5075853.html
# http://oshiete1.goo.ne.jp/qa5061830.html など…

投稿日時 - 2009-07-22 01:07:57

お礼

user32.libをつけるとコンパイルできました!!
どうもありがとうございます。
ほかにもいろいろ教えていただき感謝しています。

投稿日時 - 2009-07-22 07:43:52

ANo.2

Wr5

1人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(2件中 1~2件目)

ANo.3

windows.hは私の環境では
C:\Program Files\Microsoft SDKs\Windows\v6.0A\Include
にありました
Visual C++では
$(WindowsSdkDir)\include
としてインクルードディレクトリの1つに登録してあるはずです

投稿日時 - 2009-07-22 06:40:13

ANo.1

Wr5

>をコンパイルしようとしたところ
>error LNK2019:未解決のシンボル __imp__MessageBoxA@16が関数_WinMain@16で 参照されました。
>fatal errorLNK1120:外部1が未解決です。

どのようにコンパイルしました?
コマンドラインから…でしょうか?

http://msdn.microsoft.com/ja-jp/library/cc410914.aspx
>インポートライブラリ:User32.lib を使用
ということで、User32.libもリンクしないといけませんが指定していますか?

投稿日時 - 2009-07-22 00:18:21

補足

cl test.c でコンパイルしました。

どうも
Includeフォルダに、Windows.hが存在していないのですが・・・

投稿日時 - 2009-07-22 00:36:39

あわせてチェックしたい
  • WinMainのコンパイルについて ...
  • Win32APIについて ...
  • WIN32APIについて質問です。 ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら