|
本帖最后由 1162810317 于 2013-1-25 23:15 编辑
最近在学习osg的漫游部分,其中《step into ,,,,,》(可能是版本比较老)书中的TravelManipulator.DLL部分代码编译不能通过了,但又不知道该怎么解决,所以想请教下大神们。
TravelManipulator * TravelManipulator::TravelScene(osg::ref_ptr
<osgViewer::Viewer> viewer)
{
//可以获得并使用系统提供的浏览方式,这个静态函数用于初始化与激活,在类静态函数中初始化,
//这属于C++的知识,把析构函数设置为保护就是……,自己看吧
TravelManipulator* camera = new TravelManipulator;
//得到像机的ID
camera->m_nID = viewer-> addCameraManipulator(camera); //这边不能通过,我改成了setCameraManipulator(camera); 还是不行
//TEMP
camera->m_pHostViewer = viewer;
return camera;
}
//激活所选的漫游方式
/*void TravelManipulator::Active(void)
{
m_pHostViewer->getCameraManipulator(m_nID); //这边也不行
} */
我刚开始把这两处注释掉,下面显示编译成功,可是问题是出现后面错误“unable to start program!”
最后就是书上没有说其他环境的配置只有示
例九:编写 TravelManipulator.DLL
第一步:新建项目WIN32/WIN32 控制台应用程序,项目名称填入:TravelManipulator 在应用程序设
置中选 DLL 与空项目选项。
第二步:在菜单项目属性配置属性链接器->命令行中添加下列 LIB: OpenThreadsWin32d.lib
Producerd.lib osgd.lib osgDBd.lib osgFXd.lib osgGAd.lib osgParticled.lib osgProducerd.lib osgSimd.lib
osgTerraind.lib osgTextd.lib osgUtild.lib
第三步:菜单项目添加类,类名填入 TravelManipulator,基类填入:osgGA::Manipulator
点击确定。
实际编译不通过 ,我自己按其他程序一样添加了其他依赖后才通过,有影响吗??? |
|