查看: 5637|回复: 18

编译osgOcean遇到问题

[复制链接]

该用户从未签到

发表于 2009-7-26 23:40:54 | 显示全部楼层 |阅读模式
说找不到osg/Config
我就在OpenSceneGraph-2.8.2-rc4\Xcode\OpenSceneGraph\config里找了config分别放进去,再编译又找不到AvailabilityMacros.h,这下就没办法继续了

把哥们成功编译过的工程拿过来还是这样错,不知道是不是FFTW的问题,我在cmake里设置的fftw3f

该用户从未签到

发表于 2009-7-27 08:37:37 | 显示全部楼层
您的OSG头文件路径设置错了,应该是安装后的include目录(安装也就是执行OpenSceneGraph.sln中的INSTALL工程),不是源代码的include目录。
此外请下载osgOcean的SVN版本,我测试过没有问题。
还有建议用fftss,Windows下比fftw要方便很多

该用户从未签到

 楼主| 发表于 2009-7-27 09:06:24 | 显示全部楼层
的确我用的是原来的include,但是我在编译目录里没有找到别的include文件,仅有的就是两个config(include\OpenThreads\config,include\osg\config),是不是我编译少了什么东西?刚才编译了osgART_2.0_RC3也是同样问题。fftw我下载的编译后版本,自己把lib弄出来的libfftw3-3.lib,libfftw3f-3.lib,libfftw3l-3.lib,libfftw.lib。不太清楚这个玩意咋用,它说需要我就指定过去了。

该用户从未签到

 楼主| 发表于 2009-7-27 09:11:04 | 显示全部楼层
真的是INSTALL工程没有编译~~仔细看了下,还有几个工程没编译。太马虎了~~谢了先

该用户从未签到

 楼主| 发表于 2009-7-27 11:12:16 | 显示全部楼层
重新编译了OSG2.8.2R4,再编译osgocean地时候出来很多这类错误:
OceanScene.obj : error LNK2001: 无法解析的外部符号 "__declspec(dllimport) protected: virtual __thiscall osg::Geometry::~Geometry(void)" (__imp_??1Geometry@osg@@MAE@XZ)

找不到lib?查过lib指定的没有问题啊,还是版本问题?

该用户从未签到

发表于 2009-7-27 19:46:20 | 显示全部楼层
依赖库的链接可能有问题

该用户从未签到

 楼主| 发表于 2009-7-27 20:04:40 | 显示全部楼层
已搞定,要填附加依赖项
I:\osgOcean\fftw\lib\libfftw3-3.lib
I:\OSG2.8.2r4\lib\OpenThreadsd.lib
I:\OSG2.8.2r4\lib\osgUtild.lib
I:\OSG2.8.2r4\lib\osgTextd.lib
I:\OSG2.8.2r4\lib\osgDBd.lib
I:\OSG2.8.2r4\lib\osgViewerd.lib
I:\OSG2.8.2r4\lib\osgGAd.lib
I:\OSG2.8.2r4\lib\osgd.lib

该用户从未签到

 楼主| 发表于 2009-7-27 20:09:24 | 显示全部楼层

该用户从未签到

发表于 2009-9-1 19:07:00 | 显示全部楼层
在编译osgocean的时候遇到了一些问题,
错误如下:
错误 62 error C3767: “<”: 候选函数不可访问 C:\Program Files\OsgChina\OpenSceneGraph\include\osg\State 1729

无法从"const std::stringf"为“const std:: pair<Ty1,Ty2> &"推导 模板 参数

error c2451:"osg::ref_ptr<T>"类型的条件表达式是非法的
.........

我用的是osg2.8和vs2008,文件是从googlecode上下载的.Cmake是2.6.3.
望各位高手指点!

该用户从未签到

 楼主| 发表于 2009-9-1 19:49:24 | 显示全部楼层
你inlude目录设置正确么?使用的是自己编译的osg?

该用户从未签到

发表于 2009-9-1 21:12:48 | 显示全部楼层
googlecode下载的osg?抱歉我似乎还没听说过

该用户从未签到

发表于 2009-9-2 12:16:37 | 显示全部楼层
osg是自己下的。
cmake设置中fftw3 library我用的是libfftw3.dll,不知道是不是这个原因。因为我没有弄到fftw的lib文件

该用户从未签到

发表于 2009-9-2 12:20:57 | 显示全部楼层
我看到有帖子说fftss比fftw更适合于windows,array老师能不能提供一个下载的地址啊,要已经编译好的。
万分感谢。

该用户从未签到

发表于 2009-9-2 12:31:00 | 显示全部楼层
从源代码编译就可以了,我编译fftss的时候没有遇到什么问题

该用户从未签到

 楼主| 发表于 2009-9-2 13:24:11 | 显示全部楼层
lib /machine:ix86 /def:libfftw3-3,def
lib /machine:ix86 /def:libfftw3f-3.def
lib /machine:ix86 /def:libfftw3l-3.def
在vs2005目录搜索到以下三个文件然后执行以上命令可生成lib(针对fftw-3.2.1-dll.zip)
LIB.EXE,link.exe,mspdb80.dll

该用户从未签到

发表于 2011-3-1 15:43:35 | 显示全部楼层
回复 2# array


     我只用fftss不用fftw3和FFTW3F,可以吗?编译时出现了:..\..\..\src\osgOcean\FFTSimulation.cpp(62) : fatal error C1083: 无法打开包括文件:“fftw3compat.h”: No such file or directory这种错误是为什么?

该用户从未签到

发表于 2011-3-2 08:39:13 | 显示全部楼层
您在osgOcean配置cmake的时候没有选择使用fftss!

该用户从未签到

发表于 2011-3-2 20:11:49 | 显示全部楼层
回复 17# array


    这个问题解决了 是编译时没有找到那个头文件,现在又出现了新问题:运行时出现这样的错误:“0x104817fd”指令引用的“0x20010000”内存。该内存不能为“written”.这是为什么啊?

该用户从未签到

发表于 2011-3-2 20:32:09 | 显示全部楼层
请问一下  如果我要将osgocean生成的海面场景截取一帧进行保存 保存为bmp格式  能提供一下思路吗?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

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

联系我们

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