我要发帖 回复

正式会员

6

主题

47

积分

0

专家分

:

私信
发表时间 : 2007-10-30 09:31:07 | 浏览 : 3128    评论 : 13
大家好,小弟已经按照论坛上的方法在VC7中编译了OSG2.0的release,但有一些问题不太清楚,敬请各位高手帮忙:
1. 在编译的最后一步探出一个对话框,如下所示:
1.JPG

我直接按了Cancle,不知可否?这里所要填写内容的作用是什么?

2. 由于小弟是VC新手,对他的环境不是很熟,所以编译完后不知如何在VC下配置,不知道那些是有用的,目录结构如下:
2.JPG

请高手指导,都需要导入那些。在OSG的安装版本中有一个include目录,而在自己编译的版本中却没有,不知是否有什么影响。

3. 如果我不再VC环境下开发,都需要导入那些有用的包。

                                                                                         谢谢!!!

最近VR访客

FlySky 评论于2007-10-30 12:40:42
  出现上面的界面,说明你的编译成功了,生成了动态链接库~~~~如果你学过C++的话,就肯定知道,执行生成动态链接库程序之后就是这样的了~~~~

  你只要再设置一下库文件,包含文件路径及环境变量就可以了~~~~~~呵呵~~~

  
  

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
FlySky 评论于2007-10-30 12:49:29
3. 如果我不再VC环境下开发,都需要导入那些有用的包。


这个能说得清楚点吗???

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
thb8177 评论于2007-10-30 13:53:43
对于第一个问题,也就是说我在弹出的对话框中什么都可以不用输入,直接按Cancle就可以了么?

对于第二个问题,我再图中给出了目录结构,希望斑竹可以告诉我在VC7里,如何设置,都需要包含那些目录?

对于第三个问题,我的意思是如果我用TC,或在Linux下用GCC,都要导入些什么?

我对C++和OSG不太熟,希望斑竹不要嫌我太菜!!! 哈哈!!! 再次谢谢斑竹的恢复!!!
FlySky 评论于2007-10-30 15:17:41
对了,什么也不用输入,直接Cancle就可以了~~

在选项-》VC++目录下,设置一下库文件(.lib),包含文件(#include )目录就OK了~~~

在TC下开发,或许版本太低了吧,,,

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
thb8177 评论于2007-10-30 15:55:42
按照图二的目录我在VC下是不是应该这样设置:

库文件目录:F:\OpenSceneGraph\lib\release
          (不知还要包含哪一个文件夹)
包含文件目录: 设置什么呀?
在OSG安装版本里有一个include文件夹,可在我编译的OSG里没有,如何设置?
thb8177 评论于2007-10-31 13:00:03
???
array 评论于2007-10-31 13:20:18
原帖由 thb8177 于 2007-10-30 01:53 PM 发表
对于第一个问题,也就是说我在弹出的对话框中什么都可以不用输入,直接按Cancle就可以了么?

对于第二个问题,我再图中给出了目录结构,希望斑竹可以告诉我在VC7里,如何设置,都需要包含那些目录?

对于第三个 ...


从你的第二幅图来看,似乎有一个很奇怪的现象……include目录呢?如果没有include目录的话,OSG是不可能编译通过的。
检查一下bin目录和lib目录下的文件:有没有OpenThreads.dll,osg.dll,osgDB.dll,osgViewer.dll……;有没有osg.lib,osgDB.lib,osgViewer.lib……。如果有的话,那么应该是编译成功了,或许你在CMake中设置将编译后的结果放在F:\OpenSceneGraph中,那么请把源目录的include文件夹也拷过来。
看你的第一幅图,似乎只有64项编译成功,也就是说CMake配置的时候可能插件库没有配置完全(例如,osgdb_freetype.dll,osgdb_jpeg.dll可能均不存在),请参阅相关的文章,下载第三方库并重新设置CMake各项。否则的话,字体无法读取,很多图像无法读取,等等……

如果你确认已经编译成功,准备自己建立一个新的项目工程,那么可以在VC项目属性中作如下的设置:
1、头文件包含目录设置为osg的include目录;
2、附加库引用目录设置为osg的lib/debug和lib/release,附加库文件通常有OpenThreads.lib,osg.lib,osgDB.lib,osgUtil.lib,osgViewer.lib等,注意DEBUG版本的文件名称与Release版本有区别;
3、编写你自己的代码;
4、编译后的可执行文件要和osg相关的DLL在同一目录下,或者你设置了全局变量也可以。

至于在非VC的环境下使用OSG……
TC请Pass,估计没啥希望;
minGW是没问题的,同样使用CMake,编译器选择minGW;
Linux下仍然使用CMake作编译,非常简单,下载源代码解压缩后,执行
cmake xxx/OpenSceneGraph -DCMAKE_BUILD_TYPE=Release
或者把选项改成Debug均可,注意xxx/OpenSceneGraph是OSG所在目录;注意CMake for Linux是需要下载的。
thb8177 评论于2007-10-31 15:46:57
arry说的很对,原来我把CMake的输出目录改变了,所以编译的文件夹中没有include目录。
谢谢啦!!!
thb8177 评论于2007-10-31 16:13:07
又有问题了,提示如下:
1.JPG

提示找不到osg.dll,奇怪,会是什么问题呀?

4、编译后的可执行文件要和osg相关的DLL在同一目录下,或者你设置了全局变量也可以。
这句话是啥意思?

[ 本帖最后由 thb8177 于 2007-10-31 04:34 PM 编辑 ]
array 评论于2007-10-31 16:35:46
可以把osg.dll所在的文件夹,比如osg的bin目录设置到系统的PATH变量中。
或者把你的Textures.exe拷贝到bin目录下,然后直接执行。
建议设置PATH环境变量,这样在VC中就可以进行调试了。
thb8177 评论于2007-10-31 17:13:29
谢谢Array,我已按照你的方法作了,可以编译了,但是找不到当前目录下的模型文件,比如cow.osg.
我已近把他铐到当前的项目目录中了,不知为啥?
                                                              太感谢Array了!!!!
FlySky 评论于2007-10-31 17:53:55
恭喜完成OSG配置第一步,呵呵~~~~~~~~~~~~

但是找不到当前目录下的模型文件,比如cow.osg.
我已近把他铐到当前的项目目录中了,不知为啥?


应该是可以找到的,,把glide.osg和cessna.osg拷贝到第一个例子目录下,编译运行这个例子,再试下~~~~~

还有可能就是这个例子需要设置入口参数~~~~~

OSG中国官方网站:http://www.osgChina.org
OSG中国官方讨论区:http://bbs.osgChina.org

OSG专业群-OSG地形研究者 49668412
      OSG地形专业研究 45763709
thb8177 评论于2007-11-1 09:11:27
终于成功了?太感谢array,FlySky以及关注此帖的同志们,我会更加努力的。

手机版|VR开发网 统计 津ICP备18009691号
网安备12019202000257

GMT+8, 2021-9-18 06:49 AM

返回顶部