首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Visual Studio生成错误“未解析的外部符号WinMain”

问题描述:

Visual Studio生成错误“未解析的外部符号WinMain”

解答:

这个错误通常是由于项目的入口函数未正确定义引起的。在Windows平台上,C/C++程序的入口函数是WinMain(),而不是常见的main()函数。

解决方法:

  1. 确保项目的入口函数正确定义为WinMain(),而不是main()。入口函数的定义应该如下所示:int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow) { // 程序逻辑代码 return 0; }
  2. 检查项目的链接器设置。在Visual Studio中,右键点击项目,选择“属性”,然后选择“链接器” -> “系统”,确保“子系统”设置为“Windows (/SUBSYSTEM:WINDOWS)”。
  3. 如果项目是一个控制台应用程序,而不是窗口应用程序,可以将入口函数改为main(),并将项目的链接器设置为“子系统”为“控制台 (/SUBSYSTEM:CONSOLE)”。
  4. 如果以上方法仍然无法解决问题,可以尝试重新创建项目或者使用Visual Studio的修复工具修复安装。

推荐的腾讯云相关产品:

腾讯云提供了丰富的云计算产品和服务,以下是一些与开发相关的产品:

  1. 云服务器(CVM):提供弹性的虚拟服务器实例,可用于搭建开发环境和部署应用程序。产品介绍链接:https://cloud.tencent.com/product/cvm
  2. 云数据库MySQL版(CDB):提供稳定可靠的关系型数据库服务,适用于存储和管理应用程序的数据。产品介绍链接:https://cloud.tencent.com/product/cdb
  3. 云存储(COS):提供安全可靠的对象存储服务,可用于存储和管理各种类型的文件和数据。产品介绍链接:https://cloud.tencent.com/product/cos
  4. 人工智能平台(AI Lab):提供丰富的人工智能算法和模型,可用于开发和部署各种人工智能应用。产品介绍链接:https://cloud.tencent.com/product/ailab

请注意,以上推荐的产品仅代表腾讯云的一部分云计算产品,更多产品和服务可以在腾讯云官网上查看。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

Visual Studio下程序开发: error LNK2019: 无法解析外部符号

一、环境介绍 Visual Studio IDE 版本: VS2017 QT版本: QT5.12.6 产生问题环境: 在Visual Studio 2017下开发QT程序,引用了ffmpeg库实现视频播放器开发...error LNK2019: 无法解析外部符号 error LNK2001: 无法解析外部符号 1>CClipVideo.obj : error LNK2019: 无法解析外部符号 _avformat_alloc_output_context2...: 无法解析外部符号 _avformat_open_input 1>CClipVideo.obj : error LNK2019: 无法解析外部符号 _av_read_frame,该符号在函数 "protected...: error LNK2001: 无法解析外部符号 _av_read_frame 1>VideoEncode.obj : error LNK2001: 无法解析外部符号 _av_read_frame...: 无法解析外部符号 _avformat_close_input 1>CClipVideo.obj : error LNK2019: 无法解析外部符号 _avformat_write_header,

2.8K10

error LNK2019: 无法解析外部符号 错误解析

1>------ 已启动生成:  项目: CGALTEST510, 配置: Debug x64 ------ 1>CGALTEST510.obj : error LNK2019: 无法解析外部符号 "...__Enative_ecat@system@boost@@YAXXZ) 中被引用 1>CGALTEST510.obj : error LNK2019: 无法解析外部符号 "class boost::system...__Eerrno_ecat@system@boost@@YAXXZ) 中被引用 1>CGALTEST510.obj : error LNK2019: 无法解析外部符号 __imp___gmpn_copyi...AEBU01@@Z) 中被引用 1>G:\Cpp\Midaxis\CGALTEST510\x64\Debug\CGALTEST510.exe : fatal error LNK1120: 10 个无法解析外部命令...”--“附加依赖项” 根据错误提示在下图右边红色框内添加相应lib文件 再次编译运行即可避免此类错误产生 ———————————————————————————————————————————

38930

连接器工具错误lnk2019_2019年十大语文错误

如果某个符号被引用但从未定义,则链接器将生成一个无法解析 :::no-loc(extern)::: al 符号错误。...2.链接包含符号定义对象文件或库 在 Visual Studio 中,请确保包含符号定义对象文件或库链接为项目的一部分。 在命令行上,确保要链接文件列表包含对象文件或库。...9.生成依赖项仅在解决方案中定义为项目依赖项 在 Visual Studio 早期版本中,此级别的依赖项已经足够。...但是,从 Visual Studio 2010 开始,Visual Studio 需要一个项目到项目的引用。 如果你项目没有项目到项目的引用,则可能会收到此链接器错误。...其他资源 有关 LNK2001 可能原因和解决方案详细信息,请参阅 Stack Overflow 问题:未定义引用/解析 ” :::no-loc(extern)::: 符号错误”,以及如何修复该错误

4.1K20

VS2015 error LNK2019 无法解析外部符号 _WinMain@16,该符号在函数 “int __cdecl invoke_main(void)”

kalman.cpp直接导入到新建vs工程中进行编译,直接报错: 错误 LNK2019 无法解析外部符号 _WinMain@16,该符号在函数 "int __cdecl invoke_main(void...invoke_main@@YAHXZ) 中被引用 opencvDemo E:\MyWork\VSProject\opencvDemo\opencvDemo\MSVCRTD.lib(exe_winmain.obj...) 1 经过网上查找问题,终于找到原因,是因为c语言运行时找不到适当程序入口函数,一般情况下,如果是windows程序,那么WinMain是入口函数,就比如我这里创建“win32项目” 如果是dos...控制台程序,那么main是入口函数,新建项目为“win32控制台应用程序” 而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。...所以我这里出错原因是我导入kalman.cpp是一个dos控制台程序,但是我新建项目时选择是“win32项目”,这时候修改一下配置就可以了。

1K10

LNK2019 无法解析外部符号 WinMain,该符号在函数 int __cdecl invoke_main(void) (?invoke_main@@YAHXZ) 中被引用

这个报错网上查了很多,大概原因是: c语言运行时找不到适当程序入口函数, 一般情况下,如果是windows程序,那么WinMain是入口函数,在VS中新建项目为“win32项目” 如果是dos控制台程序...好吧,实际不是这样,我犯错误比这个更低级: 上面那步我是选对了(即选择了win32控制程序),但是我下面的一步 ? 呃......,我就因为这次多动症,折磨了大半天。...但是一定要注意几点: 1.就是把生成平台改成x64,不然还是解决不了。我也不知道为什么,因为平时不改都是可以编译过去,如果有高手麻烦指点一下。...(我个人是这个区分。) 一、 区别: (1)Win32控制台程序,没有界面,只有命令符。生成“.exe”文件直接运行操作即可。 (2)Win32项目,有界面。...Win32项目:初始代码模版实现一个简单windows窗口,以WinMain作为程序入口,引用了win32Api头文件和库,链接器subsystem参数为windows,所以生成程序不带黑色控制台

15.5K51

vs报错“错误 LNK2019 无法解析外部符号几种原因及解决方案

运行vs程序时候,报错严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK2019 无法解析外部符号 "__declspec(dllimport) public: void __cdecl...doAction@PointCloudFilters@@AEAAXXZ) 中被引用,如下图所示:   报这个错误一般是因为使用了一些未定义或者没找到定义函数或者变量等等。...解决方法通常有以下几种: 如果是在写代码阶段就报错了(当然如果是这种情况,报错内容也就不是这样了,这里只是顺便提一下),那一般是因为包含目录没有设置对,导致程序无法找到外部函数定义;而如果是自定义函数找不到...如果是运行时报错,常见原因是你引用了某个库函数,然后也正确添加了它头文件路径,vs在写代码阶段可以找到这个函数定义,但是,由于你没有添加或者正确设置这个库lib或者dll路径的话,那么vs就会在运行时候报错无法解析外部符号...从一开始贴上来报错信息中可以看出,错误出现在PointCloudFilter类这里。于是,我们打开这个类头文件,可以在开头地方发现几行预处理代码,如下图所示。

15.4K10

VC6编译OPENSSL

\ms\test 最后动态编译生成出来文件在out32dll目录下、静态编译出来在out32目录下 一些错误以及解决方法(vs2010为例) 错误: tmp32\sha1-586.asm(1432...t=6690 用Vs2005编译openssl,在vs2015中使用就悲剧了,报如下错误 1>libeay32.lib(cryptlib.obj) : error LNK2019: 无法解析外部符号...__vsnprintf,该符号在函数 _OPENSSL_showfatal 中被引用 1>libeay32.lib(cryptlib.obj) : error LNK2019: 无法解析外部符号 _...vfprintf,该符号在函数 _OPENSSL_showfatal 中被引用 1>libeay32.lib(cryptlib.obj) : error LNK2019: 无法解析外部符号 ___iob_func...,该符号在函数 _OPENSSL_showfatal 中被引用 1>libeay32.lib(pem_lib.obj) : error LNK2001: 无法解析外部符号 ___iob_func 1>

35220

无法解析外部符号解决方法汇总

高级玩家看: 当然我刚才说出现“无法解析外部符号”就是没有正确包含lib库仍有些片面,例如,Visual Studio一个解决方案有A、B两个工程,B生成dll供A使用,A正确包含了Bdll和lib...,可是有时候还是会出现B总定义函数“无法解析外部符号”问题。...三、visual studio 诡异bug 没有使用其他lib库,只是一个.cpp文件使用另一个.cpp文件里定义类函数,结果一直报“无法解析外部符号错误”。...2017-5-2 23:49:16 更新“三、visual studio 诡异bug” ———————————————- 四、内联函数也可能导致“无法解析外部符号错误 今天重用别人代码...,总有几个“无法解析外部符号错误解决不了,函数都是有定义

14.4K10

让vc编译出程序减小体积

二,设置自己入口点函数 C或C++程序默认入口函数是main()或WinMain(),但我们现在不用什么Main,WinMain.因为这些都不是直接入口点,编译器在产生exe文件时候,将为我们生成真正入口点.../Gs[num] 控制堆栈检查调用 /RTCs 堆栈帧运行时检查 /GS 启用安全检查 /RTCu 初始化本地用法检查 /Gh 启用 _penter 函数调用 /clr[:noAssembly]...生成能添加到其他程序集模块 (缩写: /t:module) /define: 定义条件编译符号 (缩写: /d) /doc: 要生成 XML 文档文件 - 输入文件 - /recurse...) - 错误和警告 - /warnaserror[+|-] 将警告视为错误 /warn: 设置警告等级 (0-4) (缩写: /w) /nowarn: 禁用特定警告消息 - 语言 -...错误报告”文件 /codepage: 指定打开源文件时要使用代码页 /utf8output UTF-8 编码输出编译器消息 /main: 指定包含入口点类型(忽略所有其他可能入口点

1.9K10

Visual C++ 中重大更改

复制构造函数 在 Visual Studio 2013 和 Visual Studio 2015 RC 中,如果该类具有用户定义移动构造函数,但没有用户定义复制构造函数,则编译器生成复制构造函数...这项重大更改会导致本地声明这些函数(没有适当 CRT 标头)任何程序发生链接器错误(LNK2019、无法解析外部符号)。...如果项目链接静态库是使用早于 2015 Visual C++ 版本编译,则链接器可能会报告无法解析外部符号。...警告 如果你链接是 Windows SDK 8.1 或更早版本,可能会遇到这些无法解析外部符号错误。...若要解决无法解析符号错误,可以尝试使用 dumpbin.exe 来检查二进制文件中定义符号。 请尝试使用下面的命令行来查看在库中定义符号

4.7K00

CG007蓝宝书opengl宝典源码编译环境搭建

错误 LNK2019 无法解析外部符号 __except_handler4_common,该符号在函数 __except_handler4 中被引用 错误 LNK2019 无法解析外部符号 __...错误 LNK2001 无法解析外部符号 "const type_info::`vftable'" (??...错误LNK2019 无法解析外部符号 _glutDisplayFunc 链接阶段出了问题 在nuget中下载glut,注释掉#define FREEGLUT_STATIC。...项目——属性——配置属性——C/C++——代码生成:他有/MT,/MTd,/Md,/MDd四个选项,你必须让所有使用库都使用相同配置,否则就会有相应提示,甚至可能会出现无法解析函数。...参考链接 OpenGL超级宝典visual studio 2013开发环境配置 GLTools VS2015中跑OpenGL红宝书第八版示例代码 ---- 备注 按照这个配置就能运行成功了 Change

1.8K40

Visual C++ 中重大更改

复制构造函数 在 Visual Studio 2013 和 Visual Studio 2015 RC 中,如果该类具有用户定义移动构造函数,但没有用户定义复制构造函数,则编译器生成复制构造函数...这项重大更改会导致本地声明这些函数(没有适当 CRT 标头)任何程序发生链接器错误(LNK2019、无法解析外部符号)。...如果项目链接静态库是使用早于 2015 Visual C++ 版本编译,则链接器可能会报告无法解析外部符号。...警告 如果你链接是 Windows SDK 8.1 或更早版本,可能会遇到这些无法解析外部符号错误。...若要解决无法解析符号错误,可以尝试使用 dumpbin.exe 来检查二进制文件中定义符号。 请尝试使用下面的命令行来查看在库中定义符号

5.1K10

C++CLI 中创建WPF项目的方法探索

我使用开发环境是: Win10 x64 + Visual Studio 2019 (16.6.1版本)。 今天我们需要使用C++/CLI,算是C++一个子集吧。...进入控制面板,找到 Visual Studio 2019,右击"修改",然后切换到"独立组件"(Individual components)这个选项卡。 ? 如果没安装,勾选后安装一下即可。...如果出现VCRUNTIME140.dll missing问题,安装一下Visual C++ Redistributable for Visual Studio 2015 和 Microsoft Visual...网上找了下解决方案,发现将目前用 int main()改为int WINAPI WinMain() 可以解决,要能使用WinMain()则需要引入windows.h头文件。...当把 #include windows.h加到#include "MyComponent.h"下一行时,发现如下错误: ? 原因在于命令空间冲突,使得Window引用出现起义。

2.1K10

Unity3D 入门:使用 Visual Studio 开发 Unity C# 脚本,说说根目录那些 sln 和 csproj 文件

那我们在根目录看到那些 sln 和 csproj 文件是什么? 那只是 Unity 编辑器为了让你方便写 C# 代码临时生成给你用。...默认 Unity 不指定外部脚本编辑器时,会单纯打开 .cs 文件而已。...而如果指定了 Visual Studio 作为外部脚本编辑器,那么再从 Unity 中打开 C# 项目时,将会生成 sln 和 csproj 文件,然后调用 Visual Studio 打开生成 sln...这样设计,有好处也有坏处: 有了 sln 和 csproj,Visual Studio 将能充分运行代码分析器,可以在类与其他符号之间跳转,可以有智能感知提示,可以实时发现编写中代码错误(甚至是引用错误...但让 Visual Studio 各种功能激活后就会让我们这样入门开发者产生误会,认为这其实就是 C# 项目,会尝试真的对这些项目进行可能超出 Unity 功能范围修改。

82850
领券