首页  >  文章  >  后端开发  >  为什么我的 C 应用程序中会出现'错误 LNK2019 无法解析的外部符号 _main”?

为什么我的 C 应用程序中会出现'错误 LNK2019 无法解析的外部符号 _main”?

Susan Sarandon
Susan Sarandon原创
2024-11-22 09:00:12277浏览

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;
}

注意: 在此示例中,main() 使用 WINAPI 宏声明,因为 WinMain( ) 函数是 Windows 应用程序的入口点。

以上是为什么我的 C 应用程序中会出现'错误 LNK2019 无法解析的外部符号 _main”?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn