08年04月29日

Posted on 2008-04-29 18:32 RichardHe 阅读(1158) 评论(5)  编辑 收藏 引用
昨天问题是由于把OgreMian目录下的所有头文件和CPP文件都包含进来.而有一些是不用的,我花了几十分钟对比
Ogrenew下OgreMain下的所有文件,大慨有4至5个头文件以及所对应的CPP文件是多余的,而编译程序的时候就是因为
这几个多余的文件而导致链接出错.

编译的时候遇到
下面的问题

1>正在执行生成后事件...
1>命令语法不正确。
1>Project : error PRJ0019: 工具从"正在执行生成后事件..."

查阅OGRE的论坛发现和生成后事件有关,因为拷贝命令没有执行成功
在项目的属性->生成事件->生成后事件->命令行里有如下命令
copy $(OutDir)\$(TargetFileName) $(OGRE_HOME)\bin\$(ConfigurationName)
改成
copy "$(OutDir)\$(TargetFileName)" "$(OGRE_HOME)\bin\$(ConfigurationName)"
就可以了

编译就通过了,不过我自己直接不用也是可以编译通过的

如果要是自己创建OGRE工程文件,可以参考它的源码工程设置.不过要把Dependencies目录下的LIB文件设置为附加库目录
也就是"项目属性"=>配置属性=>链接器=>常规=>附加库目录=>..\..\Dependencies\LIB\Debug(或Release)
这样就可以链接成功.

Demo_Instancing.exe
Demo_Ocean.exe
Demo_Crowd.exe
Demo_Compositor.exe
Demo_Gui.exe
"项目属性"=>配置属性=>链接器=>高级=>导入库的..\..\..\..\lib\$(ProjectName)_d.lib
设置为你的输入目录,或者置空也可以;如果置空,则$(ProjectName)_d.lib生成在输出目录下

突然有一个想法,不论是CEGUI还是OGRE中,不是都有一个叫root的根结点吗?如果要是把这个根结点删掉,
那么挂在这个根结点下面的窗口或者是其它的东西是否也会自动删除呢?如果不会?又如何实现这个功能?

Feedback

# re: 08年04月29日  回复  更多评论   

2008-05-04 12:49 by kun
OGRE的我不知道,CEGUI的 窗口 有一个 Window::destroybyParent( bool setting)。
如果后来记不住 这些独立的窗口了,可以在最后通过 WindowManager::DestroyAllWindows()来搞定它们。

# re: 08年04月29日  回复  更多评论   

2008-05-04 13:25 by RichardHe
@kun
如果要指定某个窗口,其它的全部删除呢??

# re: 08年04月29日  回复  更多评论   

2008-10-22 00:39 by 远方景色
我也碰到了这个问题结果搜到你这来了。Richard(717...098,这样会不会把你曝光了,呵呵。)就是 你吧。记得我的QQ好友里有个Richard。我的QQ名远景

# re: 08年04月29日  回复  更多评论   

2008-10-22 08:55 by RichardHe
@远方景色
呵..这个不是我哟..我QQ:93427788

# re: 08年04月29日  回复  更多评论   

2009-08-21 14:46 by fisher
解决了我的问题 thx。。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


posts - 94, comments - 138, trackbacks - 0, articles - 94

Copyright © RichardHe