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

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

,那么main是入口函数,在VS中新建项目为“win32控制台应用程序” 而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。...(主函数); 反之也一样,创建项目时,选择了win32项目,而把代码当win32控制程序写了,即代码里面使用main()做为函数入口(主函数); 所以出现了以上报错,意思就是主函数和当前项目不匹配。...(6)Win32控制台程序:初始代码模版以main为程序入口,默认情况下,只链接C++运行时库和一些核心win32库,链接subsystem参数为console类型,所以编译出来程序会有黑色控制台窗口作为呈现标准输入...Win32项目:初始代码模版实现一个简单windows窗口,以WinMain作为程序入口,引用了win32Api头文件和库,链接subsystem参数为windows,所以生成程序不带黑色控制台...MFC应用程序:本质上是个win32工程,只是默认帮你引用了mfc框架头文件和库,并且程序入口由mfc框架提供,不需要自己写。

15.2K51

QT使用windowsAPI函数提示error LNK2019: 无法解析外部符号符号函数 _main 中被引用解决方案

在使用windowsAPI函数过程,已经加入了头文件,但是依旧会报error LNK2019: 无法解析外部符号符号函数 _main 中被引用,我以前也用过...API,但是没有出现此问题,最后解决方案是只需要在pro文件下面加入win32:LIBS += -luser32即可解决问题。...查了半天资料,在qt调用Windows API函数有时需要自己关联系统库时,不仅仅需要相关头文件,有些还需要自己关联系统库,就想SystemParametersInfoA()这个函数这样;但是有些系统函数在...打开MSDN,右上角输入这个函数,拉到最下面。 参考博文:Qt调用头文件setupapi.h函数SetupDiGetClassDevs()编译出错

3.5K20
您找到你想要的搜索结果了吗?
是的
没有找到

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

前言 上一篇文章,为了编译OpenCV示例代码,然后搭建环境, 最后想直接运行示例demo,我在创建新工程时候,直接创建了一个win32窗口项目,然后环境配置完成后,将opencv 示例代码...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...控制台程序,那么main是入口函数,新建项目为“win32控制台应用程序” 而如果入口函数指定不当,很显然c语言运行时找不到配合函数,它就会报告错误。...发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/185413.html原文链接:https://javaforall.cn

94510

Main.obj : error LNK2019: 无法解析外部符号 _Direct3DCreate9@4,该符号函数 long __cdecl InitD3D(struct HWND__ *)

错误问题: Main.obj : error LNK2019: 无法解析外部符号 _Direct3DCreate9@4,该符号函数 "long __cdecl InitD3D(struct HWND...InitD3D@@YAJPAUHWND__@@@Z) 中被引用 1>G:\Visual_studio\Project\MyD3D_1\Debug\MyD3D_1.exe : fatal error LNK1120...: 1 个无法解析外部命令 这个问题一直困扰着我,百度了很多资料,基本上都是说添加d3d9.lib依赖项,但是都没有成功,自己被折磨一周左右,但是自己没有放弃,对于DXSDK环境更是 配置很了多遍,...对编译又研究了很多遍,最终得到解决方案; 由于自己vs2010一值处于win32状态,所以也会出现编译错误 我一直采用32Bit操作系统进行VITK开发,因为兼容国外一个开源程序法, 更换了64Bit...选择配置管理 ? 选择新建--》x64 ? 配置完成即可,则不会报错

1.7K30

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

:::no-loc(wchar_t):::类型定义不一致 其他资源 已编译函数函数符号进行引用或调用,但是链接在要链接任何库或对象文件中都找不到符号定义。...所有这些都涉及到链接无法解析函数或变量引用,或查找定义。 编译可以确定符号未声明时间,但无法判断符号未定义时间。 这是因为定义可能位于不同源文件或库。...如果某个符号引用但从未定义,则链接将生成一个无法解析 :::no-loc(extern)::: al 符号错误。...引用无法解析 al 符号**,则使用 /SUBSYSTEM:控制台(而不是 /SUBSYSTEM: WINDOWS)进行链接。.../:::no-loc(VERBOSE):::链接选项可帮助你确定链接引用了哪些文件。 此选项可帮助您验证您生成是否包括包含符号定义文件。

4.1K20

CSAPP---第七章-链接

printf是外部符号,由于printf函数定义未在main.c给出,所以在没有进行符号解析前,printf函数Ndx为UnDefine,表示未定义符号,也就是在本模块引用,在其他模块定义符号。...---- 符号解析 链接解析符号引用方法就是将每个引用与它输入可重定位目标文件符号一个确定符号定义关联起来。...flag 参数必须要么包括 RTLD_NOW,该标志告诉链接立即解析外部符号引用,要么包括 RTLD_LAZY 标志,该标志指示链接推迟符号解析直到执行来自库代码。...多个目标文件可以定义相同符号,而链接器用来悄悄地解析这些多重定义规则可能在用户程序引入微妙错误。 多个目标文件可以被连接到一个单独静态库链接器用库来解析其他目标模块符号引用。...许多链接通过从左到右顺序扫描来解析符号引用,这是另一个引起令人迷惑链接错误来源。 加载将可执行文件内容映射到内存,并运行这个程序。

82410

lnk2001 lnk1120_lnk1120

初学者在学习VC++过程,遇到LNK2001错误错误消息主要为:   unresolved external symbol “symbol”(不确定外部符号”)。   ...无法解析外部符号“symbol”,该符号函数“function”中被引用 在 function 中找到了未定义外部符号 (symbol)。若要解决此错误,请提供符号定义或移除引用代码。...如果应用程序在运行库版本 1 上运行,该函数将会生成一个错误信息。当前编译生成代码与运行库版本 1 不兼容。...符号定义为静态,但稍后在文件外部引用。 没有定义静态类成员。...() { S s; f(1); // unresolved external } /VERBOSE 链接选项帮助您查看链接引用文件。

95920

《深入理解计算机系统》(CSAPP)读书笔记 —— 第七章 链接

构造大型程序程序员经常会遇到由于缺少模块、缺少库或者不兼容库版本引起链接错误。除非你理解链接是如何解析引用、什么是库以及链接是如何使用库来解析引用,否则这类错误将令你感到迷惑和挫败。...理解链接将帮助你避免一些危险编程错误。Linux链接解析符号引用时所做决定可以不动声色地影响你程序正确性。在默认情况下,错误地定义多个全局变量程序将通过链接,而不产生任何警告信息。...全局链接符号对应于非静态C函数和全局变量。   由其他模块定义并被模块m引用全局符号。这些符号称为外部符号,对应于在其他模块定义非静态C函数和全局变量。   只被模块m定义和引用局部符号。...多个目标文件可以定义相同符号,而链接器用来悄悄地解析这些多重定义规则可能在用户程序引入微妙错误。   多个目标文件可以被连接到一个单独静态库链接器用库来解析其他目标模块符号引用。...许多链接通过从左到右顺序扫描来解析符号引用,这是另一个引起令人迷惑链接错误来源。 加载将可执行文件内容映射到内存,并运行这个程序。

2.6K31

C++:无法解析外部符号问题 与 头文件包含注意要点

开始都进行得十分顺利,但编写完主要头文件与cpp文件后,准备开始测试函数,进行Debug时,VS却提示大量错误信息,其中大都是:无法解析外部符号。...[1]只写了类声明,但还没有写实现类,造成调用时无法解析 [2]声明和定义没有统一,造成链接不一致,无法解析 [3]没有在项目属性页链接命令行选项加入相应类包。...[7]import相关无法解析内容,解决办法是在链接依赖项中加入相应动态库 [8]出现如下错误原因一般是动态库没有包进来。.../enotswn/article/details/5934938 CSDNenotswn博主原创 于是我分析得到,无法解析外部符号这个错误出现问题可以归结为:编译在使用某个函数或类时无法得到该函数或类具体实现...而我程序调用库函数仅有一两个,且系统错误提示是我编写函数无法解析

3.4K21

vs2013下调用python脚本函数 出现一些问题总结

否则会出现以下错误: 点击项目右键,在属性->c/c++->常规项->附加包含目录添加..\include。在属性->链接->常规->附加库依赖添加..\libs。...在属性->链接->输入->附加依赖项添加python27_d.lib。 按照以上步骤就会将其已经配置好了。这时候就可以进行测试了。...1object_base@api@python@boost@@QAE@XZ) 中被引用 1>pythonIniti.obj : error LNK2001: 无法解析外部符号 __imp___Py_RefTotal...,或者直接在VS下就用release跑试试 error LNK2001: 无法解析外部符号 __imp_PyString_FromString error LNK2001: 无法解析外部符号 _..._imp_PyCallable_Check error LNK2001: 无法解析外部符号 __imp_PyObject_CallObject error LNK2001: 无法解析外部符号 _

2.7K30

符号__attribute__((weak))

符号是什么? 弱符号: 若两个或两个以上全局符号函数或变量名)名字一样,而其中之一声明为weak symbol(弱符号),则这些全局符号不会引发重定义错误。...链接会忽略弱符号,去使用普通全局符号解析所有对这些符号引用,但当普通全局符号不可用时,链接会使用弱符号。当有函数或变量名可能被用户覆盖时,该函数或变量名可以声明为一个弱符号。...attribute((weak))作用 情况是这样,碰到一个棘手问题:我们不确定外部模块是否提供一个函数func,但是我们不得不用这个函数,即自己模块代码必须用到func函数: extern int...在自己模块定义: int __attribute__((weak)) func(......) { return 0; } 将本模块func转成弱符号类型,如果遇到强符号类型(即外部模块定义了...原理:连接发现同时存在弱符号和强符号,有限选择强符号,如果发现不存在强符号,只存在弱符号,则选择弱符号。如果都不存在:静态链接,恭喜,编译时报错,动态链接:对不起,系统无法启动。

6.1K30

【C++ 语言】 C 与 C++ 兼容 ( extern C )

文章目录 创建项目 项目源码说明 C++ 中直接调用 C 代码 ( 无法解析外部符号 错误 ) C++ 与 C 编译结果对比 extern "C" 在头文件标准用法 最终 C / C ++...错误提示 : 无法解析main 函数调用 add 方法 ; 严重性 代码 说明 项目 文件 行 禁止显示状态 错误 LNK1120 1 个无法解析外部命令 .......\001_CMake_1.exe 1 错误 LNK2019 无法解析外部符号 "int __cdecl add(int,int)" (?...add@@YAHHH@Z), 该符号函数 main 中被引用 ......总结 : ① 编译结果对比 : C 语言 add 方法编译后符号是 add , C++ 编译后符号是 _Z3addii , 显然二者不能互相调用 , 因此一旦在 C++ 调用 add , 就会出现上述无法解析外部符号错误

2.6K30

error adding symbols: DSO missing from command line

这个错误意味着编译无法解析某个共享对象库(DSO),并将其链接到你程序。本文将探讨导致此错误可能原因,并提供解决方案。...检查库文件权限 如果库文件权限设置不正确,编译可能无法访问它,导致链接错误。请确保库文件具有正确权限设置,并对编译进程可执行。 5. 编译参数顺序 编译选项顺序也可能导致此错误。...结论 “error adding symbols: DSO missing from command line”错误是由于编译无法解析共享对象库并将其链接到你程序。...动态符号解析: 在程序运行时,DSO符号函数、变量等)被动态解析,这意味着可以在程序运行期间替换或更新共享库,从而改变程序行为或修复bug。...DSO优点 代码重用: DSO可以将常用函数和类封装在独立模块,供多个应用程序共享和重用。这样可以减少代码冗余,提高开发效率。

99410

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

二、无法解析外部符号问题 出现这个问题,不用怀疑,一定是你没有包含lib库,或者没有正确包含lib库。何谓没有正确包含?...,可是有时候还是会出现B总定义函数无法解析外部符号”问题。...三、visual studio 诡异bug 没有使用其他lib库,只是一个.cpp文件使用另一个.cpp文件里定义函数,结果一直报“无法解析外部符号错误”。...2017-5-2 23:49:16 更新“三、visual studio 诡异bug” ———————————————- 四、内联函数也可能导致“无法解析外部符号错误 今天重用别人代码...,总有几个“无法解析外部符号错误解决不了,函数都是有定义

13.4K10

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...右击项目,选择“属性”--“链接”--“输入”--“附加依赖项” 根据错误提示在下图右边红色框内添加相应lib文件 再次编译运行即可避免此类错误产生 ————————————————————...、属性、链接、输入、附加依赖项:填写附加依赖库名字.lib 空格或分号间隔多项

37430

C++之Error无法解析外部符号

前言,相信在使用C++编程小伙伴都会遇到这样一个错误,在编译时候出现Error,无法解析外部符号,这是让人很费解一件事情,因为不会报出哪一行出现了问题,以至于问题排查很难进行,所以为大家提供了相关解决思路...文章目录 问题一 无法解析外部符号 问题二 error LNK1104:无法打开文件lib 问题三 debug不可以运行,release可以运行 问题一 无法解析外部符号 [问题描述] 在编译遇到...,viaual studio无法解析外部符号符号外部函数中被引用 [问题处理] 1....可能二: 生成库文件没有链接到exe可执行文件,排查项目中链接库是否被添加到工程 可能三: 函数申明,与函数定义有偏差 可能四:Extern了变量,但是变量未定义...问题二 error LNK1104:无法打开文件lib [问题描述] 无法打开文件 ‘boost_filesystem-vc120-mt-1_56.lib’ [问题处理] 在项目属性-》链接-》常规

2.4K10

无法解析外部符号

大家好,又见面了,我是你们朋友全栈君。 本人在写qt工程时候遇到无法解析外部符号 原因:只写了类声明,但还没有写实现类,造成调用时无法解析。...[1]只写了类声明,但还没有写实现类,造成调用时无法解析 [2]声明和定义没有统一,造成链接不一致,无法解析 [3]没有在项目属性页链接命令行选项加入相应类包。...[7]import相关无法解析内容,解决办法是在链接依赖项中加入相应动态库 [8]出现如下错误原因一般是动态库没有包进来。...__imp ProjectRun.obj : error LNK2019: 无法解析外部符号 __imp__StartHistoryLocalModule,该符号函数 “protected: virtual...DoStart@CProjectRun@HiRTDB@@MAEHXZ) 中被引用 [9]error LNK2001: 无法解析外部符号 __imp___CrtDbgReportW 工程属性,C

2.5K20

关于各种无法解析外部符号问题相应解决方案

大家好,又见面了,我是你们朋友全栈君。 在使用vs2008调试程序过程,经常会出现无法解析外部符号问题,可能原因有很多种,下面这些是我一年来积累经验. 仅供参考....[1]只写了类声明,但还没有写实现类,造成调用时无法解析 [2]声明和定义没有统一,造成链接不一致,无法解析 [3]没有在项目属性页链接命令行选项加入相应类包。...[7]import相关无法解析内容,解决办法是在链接依赖项中加入相应动态库 [8]出现如下错误原因一般是动态库没有包进来。...__imp ProjectRun.obj : error LNK2019: 无法解析外部符号 __imp__StartHistoryLocalModule,该符号函数 “protected: virtual...DoStart@CProjectRun@HiRTDB@@MAEHXZ) 中被引用 [9]error LNK2001: 无法解析外部符号 __imp___CrtDbgReportW 工程属性,C

62110

认识目标文件符号

但是在C++语言中,编译会认为这个 memset 函数是一个 C++ 函数,将 memset 符号修饰成 _Z6memsetPvii,这样链接无法与 C 语言库 memset 符号进行链接。...{ return 0; } 上面这段程序,"weak"和"weak2"是弱符号,"strong"和"main"是强符号,而"ext"既非强符号也非弱符号,因为它是一个外部变量引用。...针对强弱符号概念,链接就会按如下规则选择被多次定义全局符号: 规则1:不允许强符号被多次定义(即不同目标文件不能有同名符号);如果有多个强符号定义,则链接符号重复定义错误。...目前我们所看到外部目标文件符号引用在目标文件被最终链接成可执行文件时,它们须要被正确决议,如果没有找到该符号定义,链接就会报符号未定义错误,这种被称为强引用(Strong Reference)...链接处理强引用和弱引用过程几乎一样,只是对于未定义引用链接不认为它是一个错误。一般对于未定义引用链接默认其为0,或者是一个特殊值,以便于程序代码能够识别。

1.5K40
领券