查看: 2233|回复: 22

求助

[复制链接]

该用户从未签到

发表于 2009-6-9 17:12:25 | 显示全部楼层 |阅读模式
我做的一个例子中,编译也没有出错,但在执行的时候报错:
LDP: LdrpWalkImportDescriptor() failed to probe C:\Program Files\OsgChina\OpenSceneGraph\bin\osg44-osgViewerd.dll for its manifest, ntstatus 0xc0150002
这是怎么回事

该用户从未签到

发表于 2009-6-9 17:14:35 | 显示全部楼层
使用的dll与你的编译环境不同所致

该用户从未签到

 楼主| 发表于 2009-6-9 17:27:46 | 显示全部楼层
但是我OSG的例子能正常运行啊,编译环境那个地方不对呢

该用户从未签到

发表于 2009-6-9 17:30:12 | 显示全部楼层
您所用的Visual Studio版本和osg的DLL所用的版本可能不一致

该用户从未签到

 楼主| 发表于 2009-6-9 17:37:27 | 显示全部楼层
要是不一致,整个OSG编译后的例子怎么可以运行啊,也没报什么错啊

该用户从未签到

发表于 2009-6-9 20:44:40 | 显示全部楼层
您的osg是在自己的机器上用同一个vs编译的吗?

该用户从未签到

 楼主| 发表于 2009-6-9 22:04:47 | 显示全部楼层
是的,我只装了一个VS版本

该用户从未签到

发表于 2009-6-9 22:18:28 | 显示全部楼层
您确信吗?您使用CMake编译osg的时候设置了CMAKE_INSTALL_PATH是C:\Program Files\OsgChina\OpenSceneGraph?

该用户从未签到

 楼主| 发表于 2009-6-10 00:59:02 | 显示全部楼层
是的,但不知道这个有什么用

该用户从未签到

发表于 2009-6-10 01:09:36 | 显示全部楼层
我似乎明白了,,,,看到osgchina好像就是我做的安装包,呵呵~~~,你使用的是安装包????不知道你的VS版本是多少???最好打个补丁~~~~~~~··

该用户从未签到

发表于 2009-6-10 09:23:23 | 显示全部楼层
如果您用的安装包的话,那么正如Flysky和前面我们所说,您当前机器的VS版本和这个预编译包所用的VS版本很可能不同;
如果您真的是用CMake编译的话,能否麻烦您发一个CMake配置界面的截图看一下?

该用户从未签到

发表于 2009-6-10 12:08:10 | 显示全部楼层
我编译了两个VS下的,,没有注明的是VS2005下的,,,注明为VC9的为VS2008的~~~别使用错了~~~~~~~~

该用户从未签到

 楼主| 发表于 2009-6-10 19:55:33 | 显示全部楼层
谢谢,我把OSG重新编译了一遍,没有这个问题了
但还有一个问题,编译后例子里Bin里面的dll文件在我新建的工程里为什么找不到啊,环境变量已经加过了

该用户从未签到

发表于 2009-6-10 23:31:46 | 显示全部楼层
???????不太清楚,,,,你是否添加到PATH目录下???请说得详细一点~~~~~~~~

该用户从未签到

 楼主| 发表于 2009-6-11 00:26:36 | 显示全部楼层
是的,在path后加入了bin的路径

该用户从未签到

 楼主| 发表于 2009-6-11 22:29:56 | 显示全部楼层
请教王锐兄,在您的文章“Win32 环境编译OpenSceneGraph 2.x”中,CMAKE_INSTALL_PREFIX设置为
C:/ProgramFiles/Open/SceneGraph,后面有一段话:“8、所有的库文件,插件和示例程序都编译生成之后,就可以将它们安装到之前通过CMAKE_INSTALL_PREFIX 参数指定的路径中了。打开“批生成”界面并选择生成INSTALL
工程。”,但后面的图显示的是C:/Open/SceneGraph/Build,为什么呀?
另外CMAKE_INSTALL_PREFIX指的到底是什么意思

该用户从未签到

发表于 2009-6-11 23:08:07 | 显示全部楼层
这个就是安装路径的意思
我把安装路径设置成C:/Open/SceneGraph/Build了

该用户从未签到

 楼主| 发表于 2009-6-12 00:29:48 | 显示全部楼层
CMAKE_INSTALL_PREFIX设置的路径与Where to build the binaries指定的路径有什么区别呢

该用户从未签到

发表于 2009-6-12 13:42:55 | 显示全部楼层
Where to build the binaries是Makefile文件和编译中间文件(.obj等)保存的路径,建议这个目录千万不要和源代码目录相同,以免源代码的更新发生困难

该用户从未签到

 楼主| 发表于 2009-6-12 17:22:57 | 显示全部楼层
谢谢,另外我的例子中不能读取.rgb文件不知道是什么原因

该用户从未签到

发表于 2009-6-12 19:14:09 | 显示全部楼层
检查您有没有编译osgdb_rgb插件,以及您要读取的rgb文件是否是合法的图片

该用户从未签到

 楼主| 发表于 2009-6-13 01:29:46 | 显示全部楼层
在OSG编译的例子里面可以读取,但在自己写的例子里面却不行,不知道是什么问题,例子里面.flt模型能读到,但是表面的纹理(.rgb)读不到

该用户从未签到

发表于 2009-6-13 01:49:16 | 显示全部楼层
你看看你的BIN目录下的插件目录下有osgdb_rgb.dll这个文件没~~~~~~没有的话,估计就是编译的问题~~


楼主可以结贴了,,,单个问题单个解决,,,楼层太高,,,,危房,容易忽略,,,,哈哈
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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