LNK1120エラーとは?原因と解決方法を解説

このQ&Aのポイント
  • LNK1120エラーは、ビルド中に未解決の外部参照が発生したことを示します。
  • このエラーが出ると、Visual C++ 2008が使えなくなる可能性があります。
  • エラーの原因は、WinMain@16という関数の未解決の外部シンボルです。解決方法は、関連するライブラリをリンクすることです。
回答を見る
  • ベストアンサー

LNK1120 エラーについて

このエラーが出たら一体何が問題なんですか? このエラーが出た以降、Visual C++ 2008がずっと使えなくなってしまいました…。ちなみ、この時にビルドで出力されたのは SVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。 ■■■\Debug\tr3.exe : fatal error LNK1120: 外部参照 1 が未解決です。 …でした。 あと、入力したものは普通に #include <stdio.h> void main(){ printf ("Hello World"); } です

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

  • ベストアンサー
  • asuncion
  • ベストアンサー率33% (2126/6286)
回答No.1

> 未解決の外部シンボル _WinMain コンソール・アプリケーションを作成しようとしているのに、 コンパイル・オプションがWindowsアプリケーション用になっている ためではないでしょうか。 > ずっと使えなくなってしまいました…。 使えなくなった、だけでは、どういう状況に陥っているかが正確に伝わってこないです。 起動できなくなったのですか? 起動はできるが、ソースコードが入力できなくなったのですか? ソースコードは入力できるが、ビルドできなくなったのですか? ビルドはできるが、作成したアプリケーションが実行できなくなったのですか?

janjankun
質問者

お礼

あ、解決できました!ちゃんと実行できました! ありがとうございます!

janjankun
質問者

補足

確かにまだどうにかなる問題なのに、もう「使えなくなった」と言うのもおかしいですね。 曖昧な表現に関してはすみませんでした。 もしその様な理由でエラーが起きたとしたら、どういう手順で操作を行えばいいのでしょうか? ちなみに「使えなくなった」というのはただ、 どんなソースコードを入力して実行しても、このエラーが邪魔で、実行するのを防いでるだけのことを言いたかったんです…

関連するQ&A

  • C++で、外部シンボル・外部参照が未解決

    どんな簡単な間違っていないようなプログラムをビルドしても、同じエラーメッセージが現れてきます。 これは、もしかしてインストールの仕方がまずかったのでしょうか? LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Debug/hello.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー hello.exe - エラー 2、警告 0

  • Visual C++ 初心者です。

    Visual C++ 2005 Express Editionをダウンロードしました。 void main() {printf ("Hello World"); getchar();} をビルドしたところ、 MSVCRTD.lib(crtexew.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。 Debug\test.exe : fatal error LNK1120: 外部参照 1 が未解決です。 とエラーが出ました。 何が問題なのでしょうか。 全く初心者で、周りに質問できる人もいなくて、このアプリケーションを使わなければいけない状況です。 諸事情あって今日はもうパソコンを開けないのかもしれませんので、 お礼は遅くなると思いますが、よろしくお願いします。

  • C++でのエラー LNK2001

    C++でプログラミング中ビルドしたところ以下のようなエラーが出ました。解決方法がわかりません。どのようにしたら解決できるのでしょうか? ---------------------------------------------------------------- コンパイル中... sample01.cpp リンク中... sample01.obj : error LNK2001: 外部シンボル "__imp__dispose_library" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_copyright_information" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_version_information" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__initialize_library" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__close_reader_writer" は未解決です sample01.obj : error LNK2001: 外部シンボル "__imp__get_last_error_types" は未解決です Debug/Sample01.exe : fatal error LNK1120: 外部参照 6 が未解決です。 link.exe の実行エラー

  • VC++でエラー

    --------------------構成: 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 な、なんだ?? 何が起こったんだ?? 教えてください。

  • DLL呼び出しAPのリンクエラーについて

    DLL作成初心者です。 当方で簡単なDLLを作成しました。 試しに、下記の呼び出しAP(EXE)を作成しようと したのですが、リンクエラーになります。 どうしてでしょうか? 呼び出しAP #include <windows.h> int main(){ static HINSTANCE hDLL; hDLL = LoadLibrary(TEXT("DLL_TEST.DLL")); if (hDLL) FreeLibrary(hDLL); return 0; } リンクエラーは下記 IBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Debug/TEST.exe : fatal error LNK1120: 外部参照 1 が未解決です また上記"_WinMain@16"のライブラリーをリンクさせると SCRNSAVE.LIB(scrnsave.obj) : error LNK2005: _main はすでに test.obj で定義されています SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_ScreenSaverProc@16" は未解決です SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_ScreenSaverConfigureDialog@16" は未解決です SCRNSAVE.LIB(scrnsave.obj) : error LNK2001: 外部シンボル "_RegisterDialogClasses@4" は未解決です Debug/TEST.exe : fatal error 等のエラーになります。 解決策を教えてください。

  • DXライブラリ3D導入方法

    Visual C++ 2008使用 DXライブラリ3D導入時に下記のビルドエラーが発生します。 --------------------------------------------------------------- リンクしています... DxLibAd.lib(mL_Sound.obj) : error LNK2001: 外部シンボル "_CLSID_DirectMusicPerformance" は未解決です。 DxLibAd.lib(mL_Sound.obj) : error LNK2001: 外部シンボル "_IID_IDirectMusicPerformance8" は未解決です。 DxLibAd.lib(mL_Sound.obj) : error LNK2001: 外部シンボル "_CLSID_DirectMusicLoader" は未解決です。 DxLibAd.lib(mL_Sound.obj) : error LNK2001: 外部シンボル "_IID_IDirectMusicLoader8" は未解決です。 DxLibAd.lib(mL_Sound.obj) : error LNK2001: 外部シンボル "_CLSID_DirectMusicSegment" は未解決です。 DxLibAd.lib(mL_Sound.obj) : error LNK2001: 外部シンボル "_IID_IDirectMusicSegment8" は未解決です。 DxLibAd.lib(mL_Sound.obj) : error LNK2001: 外部シンボル "_GUID_StandardMIDIFile" は未解決です。 LIBCMTD.lib(wincrt0.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 ___tmainCRTStartup で参照されました。 C:\Documents and Settings\ABC\デスクトップ\test\Debug\test.exe : fatal error LNK1120: 外部参照 8 が未解決です。 ---------------------------------------------------------------- 下記URLに同様の問題に関する質問が投稿されていたのですがVS2005のようですので解決できませんでした。 またリンクが正しくない、といった内容の記述を見かけたのですがリンクの方法がわかりません。 解答お願いします。 参考にさせていただいたサイト http://fatalita.sakura.ne.jp/3DLib/Install/LIB/index.html http://fatalita.sakura.ne.jp/CGI/3DLib2/read.cgi?no=11

  • ビルドする時のエラー。(初心者です)

    リンク中... LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です Debug/MousMov.exe : fatal error LNK1120: 外部参照 1 が未解決です。 link.exe の実行エラー というエラーがでます。 何がいけなくて対処方法はどうすればいいのでしょう。 初めてビルドするときは、エラーは何も出ないのですがもう一回するとこのエラーがでます。どうすればいいんですか?よろしくお願いします。

  • Visual Stdio.netでビルドができない

    Visual Stdio.netでプログラミングをはじめようと思ったのですが ビルドすると、何故かエラーになります。 以下がそのビルドログです。 何故かわかる方、ぜひ教えていただきたいです。 ちなみにプログラム自体は”Hello”と出力するだけの簡単なものです。 ------ ビルド開始 : プロジェクト : test, 構成 : Debug Win32 ------ リンクしています... LIBCD.lib(wincrt0.obj) : error LNK2019: 未解決の外部シンボル _WinMain@16 が関数 _WinMainCRTStartup で参照されました。 Debug/test.exe : fatal error LNK1120: 外部参照 1 が未解決です。 ビルドログは "file://c:\Documents and Settings\こに\My Documents\Visual Studio Projects\test\Debug\BuildLog.htm" に保存されました。 test - エラー 2、警告 0 ---------------------- 終了 ---------------------- ビルド : 0 正常終了、1 失敗、0 スキップ

  • Visual C++ 2005 Express EditionでLINK2019エラー

    Visual C++ 2003.netからVisual C++ 2005 Express Editionに移行した際に、以前書いたプログラムがリンクエラーで動かなくなってしまいました。 追加するLibディレクトリが足りないのかと思ったのですが、何が足りないのか見つけることができませんでした。 解決法を教えていただけないでしょうか。 OSはWindows XPです。 よろしくお願いします。 エラーメッセージの内容↓ ------------------------------- error LNK2019: 未解決の外部シンボル __imp__GetWindowPlacement@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__DispatchMessageA@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__TranslateMessage@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__PeekMessageA@20 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__ValidateRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__ShowWindow@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__SetWindowPos@28 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetWindowRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetClientRect@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__CreateWindowExA@48 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__GetSystemMetrics@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__RegisterClassExA@4 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__LoadCursorA@8 が関数 _WinMain@16 で参照されました。 error LNK2019: 未解決の外部シンボル __imp__DefWindowProcA@16 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 error LNK2019: 未解決の外部シンボル __imp__PostQuitMessage@4 が関数 "long __stdcall WindowProc(struct HWND__ *,unsigned int,unsigned int,long)" (?WindowProc@@YGJPAUHWND__@@IIJ@Z) で参照されました。 現在追加されているLibディレクトリ↓ ------------------------------------------- $(VCInstallDir)lib $(VCInstallDir)PlatformSDK\lib $(FrameworkSDKDir)lib $(VSInstallDir) $(VSInstallDir)lib C:\Program Files\Microsoft Platform SDK\Lib C:\Program Files\Microsoft DirectX SDK (April 2007)\Lib\x86

  • Visual C++6.0を使っていての質問

    タイトルのとおりの質問なのですが、 LIBCD.lib(wincrt0.obj) : error LNK2001: 外部シンボル "_WinMain@16" は未解決です Debug/gasoti2bai.exe : fatal error LNK1120: 外部参照 1 が未解決です。 というエラーがコンパイル時に出るのですがどうしたらよろしいのでしょうか。 新規作成->win32 アプリケーション で空のオブジェクトを選択しました。できればこの設定を変えずに解決したいのですが・・ なにとぞよろしくお願いいたします。