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

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...所以我这里出错的原因是我导入的kalman.cpp是一个dos控制台程序,但是我新建项目时选择的是“win32项目”,这时候修改一下配置就可以了。...解决办法: 右键工程名, 打开属性,依次找到以下路径: 然后将这里的_WINDOWS删除,并添加_CONSOLE 接下来再依次点击如下路径: 将这里的子系统切换为“控制台”,修改完成后再次编译即可...相反,如果是windows程序,就按照相反的设置来配置即可,这里就不再赘述了。

1.3K10
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    VisualStudio 2019 调试项目使用 Portable PDB 提示不支持 PDB 格式

    在新的 .NET 上,将会默认使用 Portable PDB 符号格式,而如果 VisualStudio 配置了使用托管兼容模式,那么将在加载符号的时候,将会提示不支持 PDB 格式 在发现自己的代码因为没有加载符号而断点无法命中提示当前不会命中断点...,还没有为该文档加载任何符号,就应该通过 调试->窗口->模块 打开模块界面,找到自己要调试的程序集,右击加载符号 如果 VisualStudio 找不到默认的符号文件,可以自己设置文件夹 但是在使用...此时的 VS 将因为默认不会忽略 pdb 符号文件时间戳而失败 在自己找 PDB 文件,将会提示不支持 PDB 格式,或者英文版本的 PDB format is not supported 提示 解决的方法不是让...VisualStudio 2019 忽略 PDB 文件校验,而是通过配置的方法禁用使用托管兼容模式。...只有在将默认调试引擎替换为旧版本才需要使用托管兼容模式,而旧版本的调试不支持新版本的 PDB 格式 点击工具->选项->调试 找到 使用托管兼容模式 选项,禁用即可 在英文版本的 VS 对应的选项是 Use

    77830

    Visual Studio 2017 “无法查找或打开PDB文件“ 解决方法

    运行的时候提示无法查找或打开PDB文件 解决办法(注意:必须使用管理员身份运行VS) 第一步 打开调试窗口的选项 第二步 调试——>常规——>勾选启用源服务器支持 它会弹出警告窗口,点“是”即可...点击运行,它自动连接服务器,将符号下载到本地并加载。 一两分钟后,如果显示下面的结果,说明OJBK了。...2,如果还是提示”无法查找或打开PDB文件”,尝试以管理员身份运行VS(经笔者测试,不以管理员运行的VS,无法把符号保存到指定路径上,可能是与文件夹的权限有关)。...最近很多人私信我能不能分享以下PDB文件,我已将下载好的PDB文件(仅仅是项目工程编译时所下载的部分,可能不完整)上传到百度网盘。...(除了一些文件对应的pdb微软没有和其他情况以外),应该算是比较完整的一个PDB集合吧。

    6.7K20

    卷入.NET WEB

    工具->选项->调试->符号(先清除之前的符号文件缓存,添加一个符号文件服务器): 符号简单说指的是源码和行号对应的信息,如果要调试代码,需要pdb符号文件,不然没法调试。...或者NuGet获取的符号文件,是根据最新的源代码生成的pdb文件,而本地的.net Framework版本经常不是最新版或者会切换使用,这样就会不对应导致无法调试 Dotpeek会自动根据当前dll...的版本,自动拉取对应版本的pdb文件或者生成对应版本的pdb文件,十分方便 之前尝试了很多办法,调试.net Framework的代码十分的蛋疼,要么无法调试,要么调试的行号和代码不对应,还有有的类可以调试有的不行...折腾了一两天,最后发现Dotpeek很方便,每次运行调试都会为你处理成正确的pdb符号文件。...调用堆栈:双击栈就可以回到之前的栈帧查看 模块:这里可以看到当前应用加载的dll和exe等文件信息,还有符号文件是否加载,版本,以及加载路径等信息 即时窗口:调试时可以在这里执行一些表达式代码,计算和查看值等

    98640

    WinDbg基础

    minni dump文件 异常捕获模块自动生成全dump文件 任务管理器导出,动态调试使用.dump导出未捕捉异常无法生成dump文件,导出中二次崩溃,程序主动调用abort终止进程都会导致...静态调试打开dmp文件后导入pdb符号表,注意时间戳是否一致检查加载成功动态调试使用WinDbg打开程序,打开程序后再附加WinDbg//栈溢出异常VS调试直接退出,调试时函数调用堆栈有问题时使用PDB...文件程序模块符号表,需要严格匹配时间戳,pdb文件名称必须和模块名称一致。...基本流程查看异常类型,查看异常的汇编指令及寄存器值,查看函数调用堆栈,对照源码分析,有时查看相关变量的值。....g 跳过中断lm vm 查看模块详细信息.reload 强制加载pdb文件.hh

    23530

    在.net项目中生成的pdb(程序数据文件)是什么文件?

    调试器通过将PDB中的特定GUID与二进制的GUID进行比较,发现PDB是否跟二进制文件相匹配。这个Guid在编译过程中嵌入到二进制和PDB中,并将PDB与二进制文件紧密连接。...当您在debug点和open Modules窗口停止执行时(如下所示),您将会发现所有的dll(外部或内部)加载到该断点之前,但是默认情况下的符号状态将显示“无法找到或打开pdb文件”,除了您的pdb。...在下面的截图中,您可以看到我已经加载了符号,现在符号的状态显示了“Symbols loaded”。 ? 这怎么有用呢? 您可以在代码中放置断点,并在没有加载符号的情况下查看调用堆栈。...下图显示了没有加载符号的调用堆栈,它只是将我的方法和BCL的方法显示为[外部代码]。 ? 在加载了这些符号之后,调用栈将在断点之前显示所有的方法调用(参见下图)。...与符号服务器一样,也有称为源服务器的东西,用于检索用于构建任何特定应用程序的源文件的确切版本。在构建时,二进制文件可以被索引,并且该信息存储在PDB文件中,它帮助源服务器找到确切的源文件。

    2.4K30

    #从源头解决# 自定义头文件在VS上出现“无法打开源文件“XX.h“的问题

    大家好,又见面了,我是你们的朋友全栈君。...自己编写了一个头文件 ,在主函数中通过#include引用时出现了 无法打开源文件的问题,通过网上查阅,大多数人的做法是:右键项目->属性->VC++目录->包含目录->下拉剪头->编辑,在对话框中加入...通过进一步研究,发现问题是自己混淆了 #include”xx.h” 和 #include 的用法, #include 表示直接从编译器自带的函数库中寻找文件,编译器从标准库路径开始搜索....xxh include”xx.h” 表示先从自定义的文件中找 ,如果找不到在从函数库中寻找文件,编译器从用户的工作路径开始搜索 xx.h 如果我们通过的方式引用自己编写的头文件,必然会出现无法找到与源文件的问题...,因为我们的文件放在了用户目录下,上面的解决办法本质上是通过将会用户目录追加到编译器搜索范围内,其实通过将换成” “就可以解决问题了。

    6.5K41

    PDB文件详解

    大家好,又见面了,我是你们的朋友全栈君。 PDB文件的介绍 PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件。...DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成。...PDB文件的调用过程 模块(Module),EXE和DLL都可以称之为模块,因为它们都有自已独立的Stack,所以我们在调试程序时,可以在Call Stack窗口查看到所有调用的Module Name。...微软的很多库默认是不提供PDB文件的,但是近来微软逐渐开放了一些库的PDB文件。 VS搜索PDB文件的路径顺序 MSDN中详细的讲述: 1....通过上图即可以看到VS加载PDB文件的顺序,这与MSDN中介绍的是一样的。 Symbol Settings窗口里,还可以从服务器上缓存符号文件,可是我试了很多方式,均没有成功。

    2.2K10

    怎么把sql删干净_sql的导入和导出的好处

    在使用 /debug 生成时,会创建一个 PDB 文件。 可以使用 /debug:full 或 /debug:pdbonly 生成应用程序。 使用 /debug:full 生成将产生可调试的代码。...Visual Studio 调试器使用 EXE 或 DLL 文件中的 PDB 路径查找 project.pdb 文件。...如果调试器无法在该位置找到 PDB 文件,或者该路径无效,调试器将先搜索包含 EXE 的路径,然后搜索“选项”对话框中指定的符号路径。 该路径通常是“符号”节点中的“调试”文件夹。...如果调试器无法找到 .PDB 文件,则显示“查找符号”对话框,这将允许您搜索符号或向搜索路径添加其他位置。...如果想发布的时候不带pdb文件则: VS的 项目–>生成–>高级–>调试信息–>None便可 版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。

    65130

    2020.7.2日报:禁用IE的证书管理弹窗

    无法查找或打开 PDB 文件。      jscript9.dll![下面的框架可能不正确和/或缺失,没有为 jscript9.dll 加载符号]    未知    未加载任何符号。      ...无法查找或打开 PDB 文件。      jscript9.dll!0863958c()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll!...无法查找或打开 PDB 文件。      msvcrt.dll!__CallSettingFrame@12()    未知    非用户代码。已加载符号。      msvcrt.dll!...无法查找或打开 PDB 文件。      jscript9.dll!084c4a62()    未知    非用户代码。无法查找或打开 PDB 文件。      jscript9.dll!...无法查找或打开 PDB 文件。      jscript9.dll!08553171()    未知    非用户代码。无法查找或打开 PDB 文件。

    93330

    引脚数据提示编辑代码并继续调试(C#,VB,C ++)编辑XAML代码并继续调试调试难以重现的问题配置数据以显示在调试器中更改执行流程跟踪范围外的对象(C#,Visual Basic)查看函数的返回值

    更加熟悉调试器如何附加到您的应用程序(C#,C ++,Visual Basic,F#) 要附加到正在运行的应用程序,调试器将加载与要调试的应用程序完全相同的内部版本生成的符号(.pdb)文件。...在某些情况下,对符号文件的一些了解可能会有所帮助。您可以使用“模块”窗口检查Visual Studio如何加载符号文件。 在调试时,通过选择“调试”>“ Windows”>“模块”,打开“模块”窗口。...在大多数情况下,调试器会自动查找用户代码的符号文件,但是如果您要进入(或调试).NET代码,系统代码或第三方库代码,则需要采取额外的步骤来获取正确的符号文件。...有时,应用程序开发人员在交付应用程序时没有匹配的符号文件(以减少占用空间),但保留了匹配的符号文件的副本以进行构建,以便他们以后可以调试发行的版本。...要查找有关符号文件的更多信息,请参见Visual Studio调试器中的指定符号(.pdb)和源文件。

    4.6K41

    windbg符号表问题

    , windbg, vs 都会自动到该目录加载符号表....对于这个路径d:\symbols, 可以自定义任何位置, 最好不要用离线符号表,因为你根本就找不到对应的系统版本,而且 对于win10等仍然在更新的系统,符号表过一段时间就会有所变化,到时又要重新下载一个多...本人经过测试,同一个文件的符号表会在该目标目录下生成以hash值命名的不同文件夹,例如ntkrnlmp.pdb: ?...对于这2个文件夹,一个是本机win10的,还有一个是win7 64位系统的, 所以如果有xp的,win8的, 甚至不同更新版本的win10的这个ntkrnlmp.pdb 符号表,会同时有多个文件夹对应不同的版本...否则 如果用32位的6.x版本调试win7 64位就会出现 在存储符号表的目录中下载了符号表 但是只有1KB大小,显然是错的, 当时这个问题纠结了我很久, 后来换了64位的 10.X版本的windbg

    2.2K20

    在博客园随笔中插入3D分子模型

    而我们了解到通过3Dmol这样的前端工具可以实现,通过在博客园随笔中直接引入3Dmol的js最新脚本,然后在当前页构建一个容器,最后在容器中以字符串的形式填进去分子结构,比如可以填充一个xyz文件所定义的...由于不需要安装什么特定的软件(假设你已经生成好了一系列的分子模型用于展示,否则可以参考前面这篇博客用openbabel去生成一些特定的分子结构),我们直接上前端代码吧。..." + pdbUri + ": " + err ); }, }); }); 值得注意的是,3Dmol使用jQuery.ajax从外部去读取文件时,只能加载同域名下的文件...因此,我们需要把pdb文件上传到博客园的文件系统中。而又因为博客园的文件系统仅支持几种特定的文件类型,因此我使用的方法是把pdb文件改名为一个sh文件,再传到博客园的文件系统中。...而这样操作会带来很大程度上的失真,尤其是生物化学中常见的分子结构的展示,如果直接截图则无法更加全面的展示其结构内容。

    61110

    让你发布的nuget包支持源代码调试

    Source Link 是一组包和规范,用于描述可以嵌入到符号、二进制文件和包中的源代码控制元数据。 Visual Studio 15.3+ 支持在调试时从符号读取源链接信息。...首先它的意思是把pdb的信息直接打包到dll文件中. 它的好处 一个.dll文件就够了, 不在要生成 .dll和.pdb 2个文件....在目前阶段, 不同的框架(nfx, netcore 2.x, 3.x, 5.x),不同的vs(msbuild)版本下, 对pdb文件的处理各不相同....比如vs 16.10 和netcore 2.x 它在build或者release的时候就不copy nuget packages 里面的pdb文件....如果只是临时的调试一下源代码可以有更简单粗暴的方法, 在vs中用Web Browesr 登录一下gitlab就完事了. ? 哈!, 就是这么简单粗暴. ?

    1.6K30

    解决VS Code调试.NET Core应用遇到的坑

    为什么会有”坑“   博客园里有好多介绍怎么使用VS Code以及调试.NET Core的文章,但是都是基于直接构建Asp.Net Core Mvc单项目的,有什么区别呢!   ...(1).我们这次遇到的坑是在多项目的解决方案中遇到的,也就是说根目录不是一个项目的目录;   (2).DEBUG项目不能加载符号文件,导致项目不能断点调试; 解决问题 1.关于解决方案的目录问题   ...其实,原因是一样的都是找不到项目目录造成的,修改 tasks.json文件:   为其添加一个options节点: { // See https://go.microsoft.com/fwlink...大概的意思就是在windows下生成的符号文件,不能被跨平台的调试器加载。   ...解决方案很简单,在每个需要调试的项目文件(project.json)中,加入一个节点信息如下: "buildOptions": { "debugType": "portable" } {

    1.3K40

    VS2017配置opencv教程(超详细!!!)

    第六步:勾选微软符号服务器(此步为可选项) 其实到上一步已经配好了,但是到了关键时候VS2017总是说我少各种dll文件,百度上面说不用理这种错误,可以选择勾选微软符号服务器来下载缺失的dll文件 操作步骤...:左键调试->选项->常规 勾选启动源服务器支持 符号那一项勾上微软符号服务器 注意:可以用一个文件夹来缓存下载的dll文件,只是第一次加载,不用担心。...或者,你也可以等加载完了之后,再把之前勾选的取消掉,也没有问题。 我建了一个文件夹(文件夹是我自己建的),后面发现它下载了很多pdb文件!...所以需要在这句的后面加上destroyAllWindows();实现内存的手动回收 @jerryNYX (2019年3月4号更新)加载符号遇到问题的朋友:“第六步勾选微软服务器”可以省略,把勾取消掉就能运行了...我遇到的问题“无法打开PDB文件”或者是“图像显示出来是灰色”的可能解决方法是:Debug|X64只放opencv_world341d,Release|X64只放opencv_world341 @https

    90010
    领券