xairwolfcn 发表于 2011-5-26 02:13:26

VPB0.9.11编译错误!

osg2.9.14
vpb0.9.11(用svn下载)
Cmake配置如下:




编译错误如下:(只编译VPB)


1>------ 已启动生成: 项目: vpb, 配置: Release Win32 ------
1>正在编译...
1>Version.cpp
1>ThreadPool.cpp
1>TaskManager.cpp
1>Task.cpp
1>System.cpp
1>SpatialProperties.cpp
1>SourceData.cpp
1>Source.cpp
1>ShapeFilePlacer.cpp
1>PropertyFile.cpp
1>ObjectPlacer.cpp
1>MachinePool.cpp
1>HeightFieldMapper.cpp
1>GeospatialDataset.cpp
1>FilePathManager.cpp
1>FileUtils.cpp
1>FileDetails.cpp
1>FileCache.cpp
1>ExtrudeVisitor.cpp
1>Destination.cpp
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3276) : error C2512: “osg::PagedLOD”: 没有合适的默认构造函数可用
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3281) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3281) : error C2227: “->addChild”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3292) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3292) : error C2227: “->addChild”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3299) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3299) : error C2227: “->accept”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3317) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3317) : error C2227: “->setCullCallback”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3328) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3328) : error C2227: “->getBound”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3328) : error C2228: “.radius”的左边必须有类/结构/联合
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3330) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3330) : error C2227: “->setRange”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3332) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3332) : error C2227: “->setFileName”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3333) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3333) : error C2227: “->setRange”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3335) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3335) : error C2227: “->getNumChildren”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3336) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3336) : error C2227: “->setCenter”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3336) : error C2027: 使用了未定义类型“osg::PagedLOD”
1>      C:\Program Files\OpenSceneGraph\include\osg/NodeVisitor(34) : 参见“osg::PagedLOD”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3336) : error C2227: “->getBound”的左边必须指向类/结构/联合/泛型类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3336) : error C2228: “.center”的左边必须有类/结构/联合
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\Destination.cpp(3338) : error C2440: “return”: 无法从“osg::PagedLOD *”转换为“osg::Node *”
1>      与指向的类型无关;转换要求 reinterpret_cast、C 样式转换或函数样式转换
1>正在生成代码...
1>正在编译...
1>Date.cpp
1>DataSet.cpp
1>DatabaseBuilderIO.cpp
1>DatabaseBuilder.cpp
1>Commandline.cpp
1>BuildOptionsIO.cpp
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(202) : warning C4005: “ADD_ENUM_VALUE”: 宏重定义
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(912) : 参见“ADD_ENUM_VALUE”的前一个定义
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(235) : error C2039: “Serializer”: 不是“osgDB”的成员
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(235) : error C2065: “Serializer”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(235) : error C3203: “ref_ptr”: 未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“_Ty”,应为 real 类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(235) : error C2955: “osg::ref_ptr”: 使用类 模板 需要 模板 参数列表
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(242) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(242) : error C2065: “Directory”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(242) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(243) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(243) : error C2065: “OutputTaskDirectories”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(243) : error C3861: “CREATE_BOOL_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(244) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(244) : error C2065: “DestinationTileBaseName”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(244) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(245) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(245) : error C2065: “DestinationTileExtension”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(245) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(246) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(246) : error C2065: “DestinationImageExtension”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(246) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(247) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(247) : error C2065: “PowerOfTwoImages”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(247) : error C3861: “CREATE_BOOL_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(248) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(248) : error C2065: “ArchiveName”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(248) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(249) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(249) : error C2065: “IntermediateBuildName”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(249) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(250) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(250) : error C2065: “LogFileName”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(250) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(251) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(251) : error C2065: “TaskFileName”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(251) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(252) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(252) : error C2065: “CommentString”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(252) : error C3861: “CREATE_STRING_SERIALIZER”: 找不到标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2976: “osgDB::EnumSerializer”: 模板 参数太少
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C3203: “EnumSerializer”: 未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“T”,应为 real 类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2955: “osgDB::EnumSerializer”: 使用类 模板 需要 模板 参数列表
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2514: “osgDB::EnumSerializer”: 类没有构造函数
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2512: “osg::ref_ptr”: 没有合适的默认构造函数可用
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2662: “osg::ref_ptr<T>::get”: 不能将“this”指针从“osg::ref_ptr”转换为“const osg::ref_ptr<T> &”
1>      原因如下: 无法从“osg::ref_ptr”转换为“const osg::ref_ptr<T>”
1>      转换要求第二个用户定义的转换运算符或构造函数
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(254) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2976: “osgDB::EnumSerializer”: 模板 参数太少
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C3203: “EnumSerializer”: 未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“T”,应为 real 类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2955: “osgDB::EnumSerializer”: 使用类 模板 需要 模板 参数列表
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2514: “osgDB::EnumSerializer”: 类没有构造函数
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2512: “osg::ref_ptr”: 没有合适的默认构造函数可用
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2662: “osg::ref_ptr<T>::get”: 不能将“this”指针从“osg::ref_ptr”转换为“const osg::ref_ptr<T> &”
1>      原因如下: 无法从“osg::ref_ptr”转换为“const osg::ref_ptr<T>”
1>      转换要求第二个用户定义的转换运算符或构造函数
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(255) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2976: “osgDB::EnumSerializer”: 模板 参数太少
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C3203: “EnumSerializer”: 未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“T”,应为 real 类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2955: “osgDB::EnumSerializer”: 使用类 模板 需要 模板 参数列表
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2514: “osgDB::EnumSerializer”: 类没有构造函数
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2512: “osg::ref_ptr”: 没有合适的默认构造函数可用
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2662: “osg::ref_ptr<T>::get”: 不能将“this”指针从“osg::ref_ptr”转换为“const osg::ref_ptr<T> &”
1>      原因如下: 无法从“osg::ref_ptr”转换为“const osg::ref_ptr<T>”
1>      转换要求第二个用户定义的转换运算符或构造函数
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(256) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(259) : error C2976: “osgDB::EnumSerializer”: 模板 参数太少
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(259) : error C3203: “EnumSerializer”: 未专用化的类 模板 不能用作 模板 变量,该变量属于 模板 参数“T”,应为 real 类型
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(259) : error C2955: “osgDB::EnumSerializer”: 使用类 模板 需要 模板 参数列表
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(259) : error C2514: “osgDB::EnumSerializer”: 类没有构造函数
1>      C:\Program Files\OpenSceneGraph\include\osgDB/Serializer(629) : 参见“osgDB::EnumSerializer”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(259) : error C2512: “osg::ref_ptr”: 没有合适的默认构造函数可用
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(259) : error C2662: “osg::ref_ptr<T>::get”: 不能将“this”指针从“osg::ref_ptr”转换为“const osg::ref_ptr<T> &”
1>      原因如下: 无法从“osg::ref_ptr”转换为“const osg::ref_ptr<T>”
1>      转换要求第二个用户定义的转换运算符或构造函数
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(260) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(260) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(261) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(261) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(262) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(262) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(263) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(263) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(264) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(264) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(265) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(265) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(266) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(266) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(267) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(267) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(268) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(268) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(269) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(269) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(270) : error C2678: 二进制“->”: 没有找到接受“osg::ref_ptr”类型的左操作数的运算符(或没有可接受的转换)
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(91): 可能是“T *osg::ref_ptr<T>::operator ->(void) const”
1>      试图匹配参数列表“(osg::ref_ptr)”时
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(270) : error C2039: “add”: 不是“osg::ref_ptr”的成员
1>      C:\Program Files\OpenSceneGraph\include\osg/ref_ptr(26) : 参见“osg::ref_ptr”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(273) : error C2275: “vpb::BuildOptions”: 将此类型用作表达式非法
1>      E:\OSGCompile\VirtualPlanetBuilder-0.9.11\include\vpb/BuildOptions(31) : 参见“vpb::BuildOptions”的声明
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(273) : error C2065: “MaximumTileImageSize”: 未声明的标识符
1>..\..\..\VirtualPlanetBuilder-0.9.11\src\vpb\BuildOptionsIO.cpp(273) : fatal error C1003: 错误计数超过 100;正在停止编译
1>BuildOptions.cpp
1>BuildOperation.cpp
1>BuildLog.cpp
1>正在生成代码...
1>生成日志保存在“file://e:\OSGCompile\VPBbuild\src\vpb\vpb.dir\Release\BuildLog.htm”
1>vpb - 128 个错误,1 个警告
========== 生成: 成功 0 个,失败 1 个,最新 1 个,跳过 0 个 ==========

求解! 谢谢!麻烦大家了!

xairwolfcn 发表于 2011-5-26 02:16:05

本帖最后由 xairwolfcn 于 2011-5-26 02:37 编辑

Destination.cpp(3276) : error C2512: “osg:pagedLOD”: 没有合适的默认构造函数可用
这个问题加个头文件#include <osg/PagedLOD>就可以解决!
但是BuildOptionsIO.cpp编译出的错就不知道怎么解决!

对了。我用的是VS2008

xairwolfcn 发表于 2011-5-26 02:40:44

是不是VPB版本与OSG版本配合的问题!

array 发表于 2011-5-26 14:36:28

您至少需要OSG 2.9.7以上的版本

xairwolfcn 发表于 2011-5-26 19:02:22

回复 4# array
我用的是osg2.9.14最新的!!!

wangjunchao 发表于 2011-5-27 10:47:35

这个问题原因很简单,你可以去vpb的官网上首页就显示vpb的版本与osg的版本相适应的版本。
另外,osg最新的版本已经是2.9.15了。
使用svn的osg和svn的vpb编译是没有问题,开源软件总是会存在这样的问题的

xairwolfcn 发表于 2011-5-28 01:25:26

回复 6# wangjunchao


    谢谢。我去尝试下!

wangjunchao 发表于 2011-5-28 12:00:27

如果成功的话请你把结果回复到本贴上,以便后来人能够以此为鉴

array 发表于 2011-5-30 10:02:54

回复array
我用的是osg2.9.14最新的!!!
xairwolfcn 发表于 2011-5-26 19:02 http://bbs.osgchina.org/images/common/back.gif

您不诚实,或者您搞乱了自己的头文件版本~~VPB的编译简单的没有设么可说的

xairwolfcn 发表于 2011-5-30 23:41:35

回复 9# array


   不太明白你说的!

array 发表于 2011-5-31 08:23:26

您所有的error都是无法找到某个类或者宏定义所致,而这些宏,例如CREATE_BOOL_SERIALIZER,都是在2.9.6以后加入的。因此可能性只有两种:一是您根本没有在用2.9.14,而是用另一个更低版本的OSG作为依赖的;二是您把OSG头文件目录搅乱了,里面缺失了东西

wangjunchao 发表于 2011-5-31 12:52:47

这个应该是你的版本问题,已经回答过了。建议你好好查一下

xairwolfcn 发表于 2011-6-2 00:21:17

闲了肯定搞下。。成功了。贴出来!哈!

xairwolfcn 发表于 2011-6-6 23:15:19

搞定!用SVN下载最近的osg和vpb
OSG::http://www.openscenegraph.org/svn/osg/OpenSceneGraph/trunk
VPB::http://www.openscenegraph.org/svn/VirtualPlanetBuilder/trunk
搞定后,OSG版本 2.9.15VPB版本:0.9.11
正常编译OSG,然后编译VPB,期间出现了libsquish找不到头文件squish.h的问题,很好解决!其他就没有什么错误了。!
成功!

Troy0 发表于 2011-8-20 16:49:19

回复 14# xairwolfcn


    “期间出现了libsquish找不到头文件squish.h的问题”,您是怎么解决的??

xairwolfcn 发表于 2011-8-21 12:53:43

回复 15# Troy0


    如果我没有记错的话,应该手动进行更改!!
页: [1]
查看完整版本: VPB0.9.11编译错误!