Posted on 2008-04-29 18:32
RichardHe 閱讀(1166)
評(píng)論(5) 編輯 收藏 引用
昨天問(wèn)題是由于把OgreMian目錄下的所有頭文件和CPP文件都包含進(jìn)來(lái).而有一些是不用的,我花了幾十分鐘對(duì)比
Ogrenew下OgreMain下的所有文件,大慨有4至5個(gè)頭文件以及所對(duì)應(yīng)的CPP文件是多余的,而編譯程序的時(shí)候就是因?yàn)?br>這幾個(gè)多余的文件而導(dǎo)致鏈接出錯(cuò).
編譯的時(shí)候遇到
下面的問(wèn)題
1>正在執(zhí)行生成后事件...
1>命令語(yǔ)法不正確。
1>Project : error PRJ0019: 工具從"正在執(zhí)行生成后事件..."
查閱OGRE的論壇發(fā)現(xiàn)和生成后事件有關(guān),因?yàn)榭截惷顩](méi)有執(zhí)行成功
在項(xiàng)目的屬性->生成事件->生成后事件->命令行里有如下命令
copy $(OutDir)\$(TargetFileName) $(OGRE_HOME)\bin\$(ConfigurationName)
改成
copy "$(OutDir)\$(TargetFileName)" "$(OGRE_HOME)\bin\$(ConfigurationName)"
就可以了
編譯就通過(guò)了,不過(guò)我自己直接不用也是可以編譯通過(guò)的
如果要是自己創(chuàng)建OGRE工程文件,可以參考它的源碼工程設(shè)置.不過(guò)要把Dependencies目錄下的LIB文件設(shè)置為附加庫(kù)目錄
也就是"項(xiàng)目屬性"=>配置屬性=>鏈接器=>常規(guī)=>附加庫(kù)目錄=>..\..\Dependencies\LIB\Debug(或Release)
這樣就可以鏈接成功.
Demo_Instancing.exe
Demo_Ocean.exe
Demo_Crowd.exe
Demo_Compositor.exe
Demo_Gui.exe
"項(xiàng)目屬性"=>配置屬性=>鏈接器=>高級(jí)=>導(dǎo)入庫(kù)的..\..\..\..\lib\$(ProjectName)_d.lib
設(shè)置為你的輸入目錄,或者置空也可以;如果置空,則$(ProjectName)_d.lib生成在輸出目錄下
突然有一個(gè)想法,不論是CEGUI還是OGRE中,不是都有一個(gè)叫root的根結(jié)點(diǎn)嗎?如果要是把這個(gè)根結(jié)點(diǎn)刪掉,
那么掛在這個(gè)根結(jié)點(diǎn)下面的窗口或者是其它的東西是否也會(huì)自動(dòng)刪除呢?如果不會(huì)?又如何實(shí)現(xiàn)這個(gè)功能?