• ベストアンサー

Win32APIについて

#include <windows.h> int WINAPI WinMain(HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd) { return 0; } のようなプログラムをビルドすると LIBCD.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です Debug/Cpp1.exe : fatal error LNK1120: 外部参照 1 が未解決です。 が出ます。 ちなみにコンパイル環境はMicrosoft Visual C++ 5.0です。

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

  • ベストアンサー
  • php504
  • ベストアンサー率42% (926/2160)
回答No.2

Visual C++ 2005ですよね http://www7a.biglobe.ne.jp/~lshen/EternalWindows/else/VC2005.html のサイトで真ん中ぐらいにある http://www7a.biglobe.ne.jp/~lshen/EternalWindows/else/project/05.GIF を見てください WinMain( )を使ってWindowsプログラムを作る場合は画像のように Windowsアプリケーション にチェックします。 質問のエラーは コンソールアプリケーション になっていたために起きたエラーだと思われます。

shoshoshos
質問者

補足

そのとおりでした!ありがとうございます。

その他の回答 (1)

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

> 外部シンボル "_main" は未解決です Windowsアプリのコードを書いたのに、 コンパイル時のオプションが コンソールアプリ用になっているのでは ありませんか?

関連するQ&A

  • 外部シンボル "_main"は未解決です

    「LIBC.lib(crt0.obj) : error LNK2001: 外部シンボル "_main" は未解決です」というエラーが発生しましたが、何をみればいいのかわかりません。int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow )がソースについています。

  • 未解決の外部シンボル

    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

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

  • win32アプリケーションコンパイル時のエラー

    #include <windows.h> int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance , LPSTR lpCmdLine, int cmdShow) { MessageBox(NULL,"この文字が出ます","メッセージ",MB_OK); return 0; } 上記ソースをコンパイル時に以下のエラーが出ます ------ ビルド開始: プロジェクト: kcn01, 構成: Debug Win32 ------ リンクしています... MSVCRTD.lib(crtexe.obj) : error LNK2019: 未解決の外部シンボル _main が関数 ___tmainCRTStartup で参照されました。 C:\C++練習\kcn01\Debug\kcn01.exe : fatal error LNK1120: 外部参照 1 が未解決です。 ビルドログは "file://c:\C++\kcn01\Debug\BuildLog.htm" に保存されました。 kcn01 - エラー 2、警告 0 ========== ビルド: 0 正常終了、1 失敗、0 更新、0 スキップ ========== 2005とSDKを一緒に使用するにある手順1~5は全て行いました ウィンドウズアプリケーションは普通に動作するのですが 空のプロジェクトにして↑のソースをコンパイルするとエラーが出ます 何か原因がわかる方よろしくお願いします。

  • WIN32APIについて質問です。

    WIN32APIについて質問です。 C++を用いてデスクトップにフォーカスを与えるプログラムを 作成する為に、デスクトップのウィンドウハンドルを得る GetDesktopWindow関数を使用しています。 しかし結果はフォーカスが設定できず、エラーとなります(下記ソースをご参照下さい)。 ググってみるとこの関数は実際にはデスクトップのウィンドウハンドルを返している 訳ではなく、他のハンドルを返しているようです。 他の方法も試してみましたが、一向にデスクトップを操作することができません。 何か良い方法をご存知ないでしょうか? よろしくお願いします。 ~テストに使用したソース~ #include <windows.h> int WINAPI WinMain( HINSTANCE hInst, HINSTANCE hPrevInst, LPSTR pCmdLine, int showCmd ) { if( SetFocus( GetDesktopWindow() ) == NULL ) MessageBox( NULL, "フォーカスが設定できない", "エラー", MB_ICONSTOP ); return 0; }

  • HINSTANCEの型

    LPSTR は char* なので、 int WINAPI WinMain(HINSTANCE hInstance ,HINSTANCE hPrevInstance , LPSTR lpCmdLine ,int nCmdShow ) を int WINAPI WinMain(HINSTANCE hInstance ,HINSTANCE hPrevInstance , char* lpCmdLine ,int nCmdShow ) と書き換えてもコンパイルできます。 HINSTANCEはvoid *型だという記述を見たのですが、void *で書き換えてもエラーがでてしまいます。 どうしたらよいのでしょうか。

  • 「外部シンボルが未解決」について教えてください

    BCCを使ってます。windowsのプログラムで、『外部シンボル 'MyCreateFontが未解決』と言うメッセージが出たのですが、リンクエラーなのでしょうか? また、『外部シンボル○○が未解決』と表示された場合、どのような処置をすればいいですか。アドバイスをお願いします。 D:\borland\bcc55\lesson>bcc32 -W -w-8057 timer.cpp Borland C++ 5.5.1 for Win32 Copyright (c) 1993, 2000 Borland timer.cpp: Turbo Incremental Link 5.00 Copyright (c) 1997, 2000 Borland Error: 外部シンボル 'MyCreateFont(int, unsigned long, const char *)' が未解決(D:\BORLAND\BCC55\LESSON\TIMER.OBJ が参照 ) こちらが、宣言の部分です。 #include <windows.h> #define ID_MYTIMER 100 LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); ATOM InitApp(HINSTANCE); BOOL InitInstance(HINSTANCE, int); HFONT MyCreateFont(int, DWORD, LPCTSTR); char szClassName[] = "clock"; //ウィンドウクラス int WINAPI WinMain(HINSTANCE hCurInst, HINSTANCE hPrevInst, LPSTR lpsCmdLine, int nCmdShow)

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

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

  • Windowsアプリケーションをどうしても作りたいのですが

    /* OS==XP コンパイラー==Borland C++5.5 */ #include<windows.h> int WINAPI WinMain( HINSTANCE hInstance , HINSTANCE hPrevInstance , LPSTR lpCmdLine , int nCmdShow ) { return 0; } で Error: 外部シンボル '_main' が未解決(C:\BORLAND\BCC55\LIB\C0X32.OBJ が参照) となるのでexeファイルができません。 解決法を是非教えてください。 C言語歴2日+1H

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

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

専門家に質問してみよう