2011-03-06 162 views
1

嘗試從Linux for Linux安裝Ogre3d後,它的所有內容都已正確構建,但我意識到自己已經構建了靜態庫。我再次使用CMake重新構建,這一次取消了靜態選項。當我在代碼::塊創建一個新的食人魔項目,並嘗試編譯,我得到:致命錯誤:OgreCgPlugin.h:沒有這樣的文件或目錄(Ogre3d)

__________________________________________________ ____ _________________________________________________________ 
| /usr/local/include/OGRE/OgreStaticPluginLoader.h | 28 | fatal error: OgreCgPlugin.h: No such file or directory | 
|__________________________________________________|____|________________________________________________________| 

我既靜態和動態建立OGRE3D的得到這個錯誤。請注意,在創建項目後,我沒有更改任何設置,只需單擊編譯即可。誰能幫我?

+0

我認爲Ogre有一些.cfg文件需要放在你的程序目錄 – vdsf 2011-03-06 19:34:53

回答

1

它幾乎聽起來像當你重新編譯(取消選中靜態)後,它沒有安裝這些文件,因爲在構建過程中,它會生成一個名爲OgreBuildSettings.h的文件來保存這些信息(在這種情況下,它定義了OGRE_STATIC_LIB,儘管事實上你沒有選中它。)

如果你直接從Ogre存儲庫目錄運行cmake,我建議檢出一個乾淨的Ogre源代碼並重建。

一兩件事,可能是有益的 - 通常當我構建它,我會按照沿的線條組成的圖案:

cd /path/to/ogre; mkdir build && cd build && cmake-gui .. && make && sudo make install

這有讓我的構建配置從獨立的利益來源,讓我有動態和靜態構建單獨的構建目錄,並且(最重要的是)允許我刪除構建目錄並快速重新開始,如果我搞砸了。 (:

+0

好吧現在我試圖儘可能地刪除Ogre的所有痕跡,再次下載源代碼,建設,希望,在非靜態的方式:) – Ell 2011-03-07 16:48:25

+0

I'v重新編譯和一切,但現在我得到「加載共享庫時出錯:libOgreMain.so.1.7.2:無法打開共享對象文件:沒有這樣的文件或目錄」 – Ell 2011-03-07 18:56:53

+0

@Eli - 我假設你在重新編譯後做了一個'make install' - 你知道它在安裝後把庫放在哪裏嗎?另外,如果您使用Linux,則可能需要重新加載庫緩存,例如'sudo ldconfig'。 – 2011-03-08 16:28:44

相關問題