查看: 1922|回复: 8

VS2010 编译程序运行报错问题

[复制链接]

该用户从未签到

发表于 2011-12-13 11:04:40 | 显示全部楼层 |阅读模式
用XP+VS2008Debug 模式编译通过并正常运行的程序,用Win7+VS2010编译后运行时报错:

Windows 已在 3DText.exe 中触发一个断点。
其原因可能是堆被损坏,这说明 3DText.exe 中或它所加载的任何 DLL 中有 Bug。
原因也可能是用户在 3DText.exe 具有焦点时按下了 F12。

有遇到类似问题的吧?如何解决?

该用户从未签到

 楼主| 发表于 2011-12-13 11:14:48 | 显示全部楼层
VS2010 用的是OpenSceneGraph-3.0.1-VS10.0.30319 的动态库;VS008是用9.0的库。

该用户从未签到

 楼主| 发表于 2011-12-13 11:15:44 | 显示全部楼层
发现是这句话报错的:

    // 创建一个KEY切换
    keyswitchManipulator = new osgGA::KeySwitchMatrixManipulator;

    // 加入KEY切换
   keyswitchManipulator->addMatrixManipulator( '1', "Trackball", trackball.get());

    // 选择一个
   keyswitchManipulator->selectMatrixManipulator(0);  // 0是索引值

后两句程序报错

该用户从未签到

发表于 2011-12-13 13:27:51 | 显示全部楼层
这句话本身没有什么错误可言,请判断您的开发环境是否匹配,以及给出堆栈信息

该用户从未签到

发表于 2014-7-26 22:35:07 | 显示全部楼层
本帖最后由 rubby 于 2014-7-26 22:37 编辑
prolong 发表于 2011-12-13 11:15
发现是这句话报错的:

    // 创建一个KEY切换


我也遇到此问题。

我是在VS2010下运行正常,
在VS2012运行报错,在这句话处中断,错误如下(osg 用的3.0.1):


0x5C21E461 (osg80-osgGA.dll) 处的第一机会异常: 0xC0000005: 读取位置 0x9AF62506 时发生访问冲突。

请问你最后怎么解决此问题的?

多谢 啊。

该用户从未签到

发表于 2014-7-28 10:14:18 | 显示全部楼层
看看你的库函数是不是加错了,debug下的lib有d,release下没有~~

该用户从未签到

发表于 2014-7-28 13:48:31 | 显示全部楼层
chuxuan123 发表于 2014-7-28 10:14
看看你的库函数是不是加错了,debug下的lib有d,release下没有~~

没有错误,因为相同的程序在VS2010下都编译通过,运行无误。
我将编译好的exe放到windows7 下,运行无误。
但是将exe放到windows8 下,无法运行。【点击exe,没有反应。】

所以,我就将相同的程序放在VS2012编译,看看生成的exe能否在windows 8下运行。
结果,在VS2012下,出现编译错误。


osg+MFC的程序如何跨平台啊?

该用户从未签到

发表于 2014-7-29 10:46:29 | 显示全部楼层
本帖最后由 gis_wudi 于 2014-7-29 10:49 编辑

运行错误最多还是考虑到库兼容的问题(包括链接不正确/使用不同环境编译的库/SP补丁等)

mfc无法跨平台
不过听说有个linux下的windows装载器(类似虚拟机吧)可以运行windows程序
总体来讲mfc跨平台很困难

该用户从未签到

发表于 2014-7-29 21:15:56 | 显示全部楼层
gis_wudi 发表于 2014-7-29 10:46
运行错误最多还是考虑到库兼容的问题(包括链接不正确/使用不同环境编译的库/SP补丁等)

mfc无法跨平台

多谢 gis_wudi~
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表