lyx_lyx 发表于 2011-6-4 10:49:31

使用vpb过程中的问题总结!!

本帖最后由 lyx_lyx 于 2011-6-4 11:04 编辑

背景:vs2008sp1环境,osg2.9.11,vpb0.9.11trunk最新版,gdal为trunk最新版

问题总结:
1、osgdem工程编译后生成的可执行文件,debug版本无法运行,release版本运行正常。调制发现,debug版本甚至无法进入程序的main入口函数。出错位置似乎与osg register还是proxy相关(记不清了)。

2、将vpb链接入本人的mfc工程后发现,一旦生成地形时指定了(-t)纹理路径,在运行dataset的run函数的过程中,程序将出现随机性崩溃,跳出断言错误(见图1),显示为stl的list的迭代器问题(个人判断这种情况很可能与线程相关)。但如果不点击确定,地形可继续生成完毕,判断应该是主渲染线程崩溃,此时call stack情况(见图2)。同时,如果生成地形前开启了统计信息,统计信息显示异常(见图3)。如果关闭osg主渲染线程,则程序正常不再崩溃,但总不能不绘制吧。。。故:请问是否存在mfc情况下,vpb导致主渲染线程崩溃的情况?

3、vpb对dem数据是否有特殊要求?如长宽像素大小或高程最大最小值,本人手里的部分DEM数据生成的地形模型为一平面。囧...

问题2截图:

图1断言错误


图2崩溃后的call stack情况


图3 字体显示异常

论坛的批量上传图片有点问题。总是显示不出来,一刷新敲的字全没了。。害我又重新敲一遍。。。崩溃。

whuwy 发表于 2011-6-6 23:47:01

关注一下,楼主的第一个问题我也遇到过

whuwy 发表于 2011-6-6 23:47:12

关注一下,楼主的第一个问题我也遇到过

array 发表于 2011-6-7 08:22:27

1、我经常需要使用debug库来调试vpb代码,没有发现过这类问题。您是否混用了debug和release的库?
2、我们这里同样把vpb嵌入mfc中来实现可视化的地形构建,没有问题
3、gdal支持就可以

lyx_lyx 发表于 2011-6-7 08:53:06

回复 4# array


    1、库的混用这样的错误还是不至于犯的,而且是基于CMake编译的。环境是自动配好的
    2、请问是否有可供分享的集成vpb和mfc的demo参考一下?我这里确实存在问题。不知您是否对vpb的库进行过修改?感觉该库的接口十分不灵活。
    3、明白了。

array 发表于 2011-6-7 14:52:14

1. 您不妨再好好检查一遍,依赖库中是否存在debug和release混用的情况;您的错误非常可能就是这个原因
2、公司产品,不能共享,vpb本身不是让人再开发用的,因此接口当然不太灵活,我们这里都是把它重新封装的

lyx_lyx 发表于 2011-6-7 15:49:44

回复 6# array

1、
debug版本osgdem的依赖库:
..\..\lib\Debug\vpbd.lib
E:\gdal\lib\gdal_i.lib
E:\OpenSceneGraph\lib\osgd.lib
E:\OpenSceneGraph\lib\osgViewerd.lib
E:\OpenSceneGraph\lib\osgUtild.lib
E:\OpenSceneGraph\lib\osgSimd.lib
E:\OpenSceneGraph\lib\osgTerraind.lib
E:\OpenSceneGraph\lib\osgDBd.lib
E:\OpenSceneGraph\lib\osgFXd.lib
E:\OpenSceneGraph\lib\osgTextd.lib
E:\OpenSceneGraph\lib\osgGAd.lib
E:\OpenSceneGraph\lib\OpenThreadsd.lib
debug版本vpb的依赖库:
Ws2_32.lib
E:\gdal\lib\gdal_i.lib
E:\OpenSceneGraph\lib\osgd.lib
E:\OpenSceneGraph\lib\osgUtild.lib
E:\OpenSceneGraph\lib\osgSimd.lib
E:\OpenSceneGraph\lib\osgTerraind.lib
E:\OpenSceneGraph\lib\osgDBd.lib
E:\OpenSceneGraph\lib\osgFXd.lib
E:\OpenSceneGraph\lib\osgViewerd.lib
E:\OpenSceneGraph\lib\osgTextd.lib
E:\OpenSceneGraph\lib\osgGAd.lib
E:\OpenSceneGraph\lib\OpenThreadsd.lib
实在看不出有什么问题。

2、array现在在什么公司高就?

array 发表于 2011-6-7 16:02:39

debug版本vpb的依赖库L
E:\gdal\lib\gdal_i.lib这里请使用debug版本的gdal,osgdem的依赖同理

我目前就职于北京四维远见公司
页: [1]
查看完整版本: 使用vpb过程中的问题总结!!