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的根结点吗?如果要是把这个根结点删掉,
那么挂在这个根结点下面的窗口或者是其它的东西是否也会自动删除呢?如果不会?又如何实现这个功能?