首页 >后端开发 >C++ >为什么我的 C 程序中出现'Error LNK2019 unresolved external symbol _main”?

为什么我的 C 程序中出现'Error LNK2019 unresolved external symbol _main”?

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-12 20:21:02597浏览

Why Am I Getting the

错误:无法解析的外部符号_main

在编程中,经常会遇到错误“Error LNK2019 unresolved external symbol _main referenced in函数“int __cdecl invoke_main(void)” (?invoke_main@@YAHXZ)”。当编译器找不到 main 函数的定义(C 程序的入口点)时,就会出现此错误。

理解错误消息

The错误消息表明:

  • 链接器无法解析对名为的外部符号的引用“_main”。
  • 此符号在名为“invoke_main”的函数中引用。

错误原因

通常,当主函数未定义或未使用适当的函数正确声明时,会发生此错误

解决方案

要解决此错误,请确保满足以下条件:

  • 在您的代码: 在 C 程序中,main 函数必须定义为如下:
int main() {
  // Your code here
}
  • 检查项目属性: 在 Visual Studio 中,验证以下项目属性设置是否正确设置:

    • 项目属性->链接器->系统->子系统 = Windows

此设置指示链接器生成 Windows 可执行文件,该可执行文件需要 main 函数。

示例代码

作为参考,这里有一个完整的示例代码,其中包括一个工作主干function:

#include <iostream>

int main() {
  std::cout << "Hello, world!" << std::endl;
  return 0;
}

按照以下步骤,您应该能够解决“Error LNK2019 unresolved external symbol _main”问题并成功构建您的 C 程序。

以上是为什么我的 C 程序中出现'Error LNK2019 unresolved external symbol _main”?的详细内容。更多信息请关注PHP中文网其他相关文章!

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