ホームページ  >  記事  >  バックエンド開発  >  C アプリケーションで「エラー LNK2019 未解決の外部シンボル _main」が発生するのはなぜですか?

C アプリケーションで「エラー LNK2019 未解決の外部シンボル _main」が発生するのはなぜですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-22 09:00:12256ブラウズ

Why am I getting the

エラー: C アプリケーションでの外部シンボルの解決

問題:

C アプリケーションをビルドするときに、次のエラーが発生する場合があります:

Error LNK2019 unresolved external symbol _main referenced in function "int __cdecl invoke_main(void)" (?invoke_main@@YAHXZ)

原因:

このエラーは通常、次の条件が満たされていません:

  • プロジェクトのエントリ ポイント関数 main() が定義されていないか、メイン モジュールからアクセスできません。
  • リンカは main( の定義を見つけることができません) 指定されたライブラリにあります。

解決策:

この問題を解決するには、次の手順に従ってください。手順:

1. main() 関数の存在を確認します:

プロジェクトのソース コードに main() という関数が含まれていることを確認します。この関数はプログラムのエントリ ポイントとして機能し、次のように定義する必要があります:

int main(int argc, char** argv)
{
    // Your program logic goes here
    return 0;
}

2.リンカー設定:

プロジェクトのリンカー設定をチェックして、メイン モジュールから main() 関数にアクセスできることを確認してください。 Visual Studio で、

  • プロジェクト プロパティ
  • リンカー
  • システム に移動します。
  • サブシステムWindows

を選択します3.ライブラリの組み込みの確認:

main() の定義を含むライブラリがプロジェクトのリンカー設定に含まれていることを確認します。これは次の場所にあります:

  • プロジェクト プロパティ
  • リンカー
  • 入力
  • 追加依存関係

プロジェクト例:

#include "windows.h"

int WINAPI WinMain(HINSTANCE hinstance, HINSTANCE hprevinstance, LPSTR lpcmdline, int ncmdshow)
{
    MessageBox(NULL, _T("Hello, world!"), _T("My Application"), MB_OK);

    return 0;
}

注: この例では、WinMain( ) 関数は、Windows アプリケーションのエントリ ポイントです。

以上がC アプリケーションで「エラー LNK2019 未解決の外部シンボル _main」が発生するのはなぜですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。