首页 > 精选资讯 > 甄选问答 >

VS 2019: unresolved external symbol_main

更新时间:发布时间:

问题描述:

VS 2019: unresolved external symbol_main,急!求解答,求不鸽我!

最佳答案

推荐答案

2025-08-02 17:25:49

VS 2019: unresolved external symbol_main】在使用 Visual Studio 2019 编译 C/C++ 程序时,用户可能会遇到错误信息:“unresolved external symbol _main”。这是一个常见的链接器错误,通常表示编译器无法找到程序的入口点函数 `main`。以下是该问题的详细总结与常见原因分析。

总结

“unresolved external symbol _main” 错误意味着链接器在构建可执行文件时找不到 `main` 函数。这可能是因为:

- `main` 函数未定义或拼写错误;

- 项目类型不匹配(如将控制台应用误设为 DLL 或 Win32 应用);

- 链接器设置错误,导致未正确链接标准库;

- 使用了 C++ 标准库但未正确配置运行时库。

常见原因及解决方法对照表

原因 描述 解决方法
`main` 函数未定义 代码中没有编写 `main` 函数 添加 `int main()` 或 `void main()` 函数
`main` 函数拼写错误 拼写不一致或大小写错误 检查函数名是否为 `main`,确保大小写一致
项目类型错误 项目类型为 DLL、Win32 应用等,而非控制台应用 更改项目类型为“控制台应用程序”
链接器未链接标准库 未正确链接 C/C++ 运行时库 在项目属性中检查“C/C++ > 代码生成 > 运行时库”设置
多个 `main` 函数冲突 项目中包含多个 `main` 函数 删除重复的 `main` 函数或调整编译选项
使用 C++ 但未启用 C++ 支持 项目未正确配置为 C++ 项目 确保项目类型为 C++,并检查源文件扩展名(如 `.cpp`)
静态库未正确链接 使用了静态库但未在链接器中添加 在“链接器 > 输入”中添加所需的静态库文件

建议操作步骤

1. 确认 `main` 函数存在且拼写正确

检查源文件中是否有 `int main()` 或 `void main()` 函数,并确保其格式正确。

2. 检查项目类型

右键项目 → 属性 → 配置属性 → 常规 → 项目类型,确保是“控制台应用程序”。

3. 验证运行时库设置

在“C/C++ > 代码生成 > 运行时库”中选择正确的运行时库(如 `/MT` 或 `/MD`)。

4. 检查链接器输入

在“链接器 > 输入”中确认是否缺少必要的库文件,如 `msvcrt.lib` 或 `libcpmt.lib`。

5. 清理并重新生成项目

有时旧的编译结果可能导致问题,尝试“清理解决方案”后重新生成。

通过以上分析和操作,大多数情况下可以解决 “unresolved external symbol _main” 的问题。如果问题仍然存在,建议检查项目结构或参考 Microsoft 官方文档进行深入排查。

免责声明:本答案或内容为用户上传,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。 如遇侵权请及时联系本站删除。