在调试第一个程序watershed.cpp时出现的问题

1.#include 提示未包含源文件的问题

项目-属性-配置管理器配置有问题,看一下活动解决方案平台和项目生成平台不一致,将其变得一致即可
2.LNK2019 无法解析的外部符号 WinMain,该符号在函数 "int __cdecl invoke_main(void)" (?invok
解决方法:右击项目》属性》连接器》系统的子系统将subsystem:windows变为subsystem:console
3.运行sample的分水岭算法时出现【无法启动此程序,因为计算机中丢失MSVCP120D.dll。尝试重新安装该程序以解决问题。】

解决方法:下载MSVCP120D.dll将其复制到opencv 的path配置的路径中,又会报一个无法启动应用程序的错误,此时是因为项目中的附加依赖项出现了问题。我的错是因为opencv3.0只需要添加一个opencv_world300.lib即可,而我添加了三个,所以报的错。网上也有一种错是不在debug模式下调试,改为release模式下即可运行成功。

(又报000007d的错误,)

  • stanley19840821 2017-02-04 22:40:14 #322楼
    关于0xc000007b的问题, 博文和书上说的, “无论32位还是64位操作系统,配置文件最好选择x86版” 貌似不对。 我的情况是: Win 10 64位 OpenCV 2.4.13 Visual Stuido 2015 用x86死活解决不了0xc000007b的问题, 换成x64, 就可以了。https://blog.csdn.net/poem_qianmo/article/details/19809337/博文评论中 有解决方啊
    • stanley19840821
      stanley19840821回复  stanley19840821 2017-02-04 22:58:59
      验证了一下, 这个问题解决的关键, 不在于将dll拷贝的System32或者SysWOW64, 而在于环境变量的正确设置。 从VS 将demo的运行的console日志, 可以看到, 加载的是哪些dll: “OpenCVHelloW.exe”(Win32): 已加载“C:\Windows\System32\ucrtbased.dll”。已加载符号。 “OpenCVHelloW.exe”(Win32): 已加载“C:\Windows\System32\rpcrt4.dll”。已加载符号。 “OpenCVHelloW.exe”(Win32): 已加载“C:\Windows\System32\cryptbase.dll”。已加载符号。 “OpenCVHelloW.exe”(Win32): 已加载“D:\Workspace\opencv\build\x64\vc12\bin\opencv_core2413d.dll”。无法查找或打开 PDB 文件。 “OpenCVHelloW.exe”(Win32): 已加载“D:\Workspace\opencv\build\x64\vc12\bin\opencv_highgui2413d.dll”。无法查找或打开 PDB 文件。

    最终的解决方法是,库目录中只能包含一个,要么是32位的要么是64 位的。

4.崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
    加载符号缓慢的问题见http://blog.csdn.net/shi0090/article/details/19411777
5.提示不是win32应用程序
  解决方法:
6.调试时出现无法加载.PDB文件
  解决方法:加载所有的符号集到一个指定的文件夹,以后不要从windows上下载,而是好好利用下载好的这些东西。
解决方法:调试-选项-符号-Microsoft符号服务器打钩,然后确定,就OK了。在选项窗口中,展开“调试”-“常规”,然后在右边的窗格中勾选“启用源服务器支持”
7.选择一行代码,按下F9键可以快速设定一个断点
  按下F5即可以进行调试状态
  进入调试状态后可以在工具栏中发现下图中的三个图标,分别用快捷键为F10,F11,SHITF+F11
  F11为逐语句调试,如果遇到调用函数则进行调用函数内部逐语句执行
  F10为逐过程调试,不进入调用函数内部
  SHITF+F11为跳出调试,即执行当前执行点所在函数的剩下所有行
8.在调试imagemaskcomparison.cpp时,出现一堆无法解析的外部命令
  解决方法:忘了添加附加依赖项opencv_world300.lib,添加后外部命令就都可以解析成功。
9.vi 打开一个不存在的文件a时,在没有输入保存命令时,a文件是不会存储到机器磁盘上的。
vi打开一个文件时,进入的是阅读模式,只有输入相关命令才会进入编辑模式:
i :在当前位置插入
a:在当前位置后追加
o:在当前位置的后面插入一行
I :在行头插入
A:在行尾追加
O:在当前位置的前面插入一行
'ESC'键从编辑模式转换到阅读模式
阅读模式(或叫命令模式)下:
:w 保存文件
:w filename 保存成filename文件
:q 退出
:q! 强行退出
:w! 强行写
:wq 保存退出
:x 同wq一个有效的调试方法:崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。10.如果出现未未定义的标志符,一定是有文件或者是配置的问题11.如果出现图片读取的空指针问题,一定是图片的位置存放错误,图片应该存放在工程下的工程名下10.显示内存不足:解决方法:关闭eclipse重启即可。11.Hadoop可以执行成功但是success文件中没有任何东西:也就是map阶段成功而不能reduce。12.如果在HDFS location中的文件无法显示内容,是因为tmp中的临时文件太多,由于多次格式化造成的,导致datanode没有启动成功,只要将temp下的tmp文件夹以及dfs下的data、name文件夹清空,然后重新格式化,然后启动集群就可以了。13. 127.0.1.1拒绝连接,localhost 9000 不能连接抛出异常 解决方法:重新格式化结点,使用语句为 bin/hadoop namenode -format ,然后重新将测试文件加进去即可。14.没有找到主类,在终端中运行jps疏通一下结点即可。15,无法加载主类main的问题:解决方法:将run configurations中的main class 改成包名.scala文件名。16.Exception in thread "main" java.lang.NumberFormatException: For input string: "12.044996 36.412378"解决方法:应该是数字的类型问题,改变数字的类型进行尝试
4.崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。
    加载符号缓慢的问题见http://blog.csdn.net/shi0090/article/details/19411777
5.提示不是win32应用程序
  解决方法:
6.调试时出现无法加载.PDB文件
  解决方法:加载所有的符号集到一个指定的文件夹,以后不要从windows上下载,而是好好利用下载好的这些东西。
解决方法:调试-选项-符号-Microsoft符号服务器打钩,然后确定,就OK了。在选项窗口中,展开“调试”-“常规”,然后在右边的窗格中勾选“启用源服务器支持”
7.选择一行代码,按下F9键可以快速设定一个断点
  按下F5即可以进行调试状态
  进入调试状态后可以在工具栏中发现下图中的三个图标,分别用快捷键为F10,F11,SHITF+F11
  F11为逐语句调试,如果遇到调用函数则进行调用函数内部逐语句执行
  F10为逐过程调试,不进入调用函数内部
  SHITF+F11为跳出调试,即执行当前执行点所在函数的剩下所有行
8.在调试imagemaskcomparison.cpp时,出现一堆无法解析的外部命令
  解决方法:忘了添加附加依赖项opencv_world300.lib,添加后外部命令就都可以解析成功。
9.vi 打开一个不存在的文件a时,在没有输入保存命令时,a文件是不会存储到机器磁盘上的。
vi打开一个文件时,进入的是阅读模式,只有输入相关命令才会进入编辑模式:
i :在当前位置插入
a:在当前位置后追加
o:在当前位置的后面插入一行
I :在行头插入
A:在行尾追加
O:在当前位置的前面插入一行
'ESC'键从编辑模式转换到阅读模式
阅读模式(或叫命令模式)下:
:w 保存文件
:w filename 保存成filename文件
:q 退出
:q! 强行退出
:w! 强行写
:wq 保存退出
:x 同wq一个有效的调试方法:崩溃的时候在弹出的对话框按相应按钮进入调试,按Alt+7键查看Call Stack即“调用堆栈”里面从上到下列出的对应从里层到外层的函数调用历史。双击某一行可将光标定位到此次调用的源代码或汇编指令处,看不懂时双击下一行,直到能看懂为止。10.如果出现未未定义的标志符,一定是有文件或者是配置的问题11.如果出现图片读取的空指针问题,一定是图片的位置存放错误,图片应该存放在工程下的工程名下10.显示内存不足:解决方法:关闭eclipse重启即可。11.Hadoop可以执行成功但是success文件中没有任何东西:也就是map阶段成功而不能reduce。12.如果在HDFS location中的文件无法显示内容,是因为tmp中的临时文件太多,由于多次格式化造成的,导致datanode没有启动成功,只要将temp下的tmp文件夹以及dfs下的data、name文件夹清空,然后重新格式化,然后启动集群就可以了。13. 127.0.1.1拒绝连接,localhost 9000 不能连接抛出异常 解决方法:重新格式化结点,使用语句为 bin/hadoop namenode -format ,然后重新将测试文件加进去即可。14.没有找到主类,在终端中运行jps疏通一下结点即可。15,无法加载主类main的问题:解决方法:将run configurations中的main class 改成包名.scala文件名。16.Exception in thread "main" java.lang.NumberFormatException: For input string: "12.044996 36.412378"解决方法:应该是数字的类型问题,改变数字的类型进行尝试

无法使用预编译头“StdAfx.h”,症状为有很多无法识别的标识符

解决方法:在项目属性中展开C/C++,选择常规,在附加包含目录里加入“$(ProjectDir)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值