windows下Bullet 2.82編譯安裝(Bullet Physics開發環境配置)

來源:互聯網
上載者:User

標籤:gid   技術分享   line   mat   目錄   c++   版本   拷貝   碰撞   

 

平台:Win7,VS2010

 

1. Bullet庫的組織

是Bullet_User_Manual中的:

從中可見,Bullet的LinearMath(線性數學模組),其上是BulletCollision(碰撞檢測模組),然後BulletDynamics(剛體類比模組)和BulletSoftBody(可變形體類比模組)建立在BulletCollision之上,另外還有可選的匯入匯出外掛程式和多線程模組。LinearMath、BulletCollision、BulletDynamics、BulletSoftBody是核心模組,其他則是可選的(當你需要外掛程式或使用多線程時使用)。我們這裡只編譯核心模組,其實LinearMath、BulletCollision、BulletDynamics、BulletSoftBody對應4個.lib檔案(庫檔案)。

鑒於Bullet的模組化組織,使用者可以分層次的使用Bullet:

  1. Collision detection,這時只需包含LinearMath、BulletCollision庫;
  2. Rigid body dynamics,需包含LinearMath、BulletCollision、BulletDynamics庫;
  3. Soft body dynamics,包含全部4個LinearMath、BulletCollision、BulletDynamics、BulletSoftBody庫。

對於我們而言,可能用到可變形體,所以要編譯全部4個模組。

 

2. Bullet安裝指導

這是高層指導:

  1. 下載bullet-2.82-r2704.zip,解壓(r後面的數字可能不同);
  2. 運行“../build/vs2010.bat”,產生VS2010工程;
  3. 用VS2010開啟“../vs2010/0BulletSolution.sln”;
  4. LinearMathBulletCollisionBulletDynamicsBulletSoftBody,分別在DebugRelease配置下編譯(更多版本及解釋見這裡);
  5. 將“../lib”下的8個.lib檔案,以及“../src”下所有.h檔案,都拷貝出來即構成安裝包。

後面第4節會step by step講解這個過程,並配有。下一節將如何配置Bullet工程。

 

3. Bullet工程配置(使用Bullet庫)

要使用Bullet,需要:

  1. 添加包含目錄,將上一節拷貝的.h檔案所在目錄添加到工程的包含目錄(在所有配置下);
  2. 添加庫目錄,將上一節拷貝的.lib檔案所在目錄添加到工程庫目錄(在所有配置下);
  3. 引用庫,添加對.lib檔案的引用(根據使用層次添加所需.lib檔案,Debug和Release分別設定);
  4. 包含標頭檔,在代碼中包含“btBulletDynamicsCommon.h”。

註:

添加包含目錄的兩種方法:

  1. “項目屬性 >> 配置屬性 >> VC++目錄 >> 包含目錄”
  2. “項目屬性 >> 配置屬性 >> C/C++ >> 常規 >> 附加元件封裝含目錄”。

添加庫目錄的兩種方法:

  1. “項目屬性 >> 配置屬性 >> VC++目錄 >> 庫目錄”
  2. “項目屬性 >> 配置屬性 >> 連結器 >> 常規 >> 附加庫目錄”。

引用庫的兩種方法:

  1. 代碼#pragma comment (lib, "xxx.lib")(用#ifdef _DLL和#ifdef _DEBUG);
  2. “項目屬性 >> 配置屬性 >> 連結器 >> 輸入 >> 附加依賴項”。

.lib檔案版本問題參見我的另一篇文章:配置自己的OpenGL庫,glew、freeglut庫編譯,庫衝突解決。

 

4. Step by step

咱們從產生的.sln檔案開始吧:

開啟0BulletSolution.sln:

分別在Debug和Release配置下產生上面中的4個項目。更多版本見:配置自己的OpenGL庫,glew、freeglut庫編譯,庫衝突解決。注意,Bullet工程裡的Debug和Release都是使用靜態CRT(我們一般用的是DLL CRT),所以,有必要多編譯2個版本。編譯後得到.lib檔案,可以根據編譯版本自行改檔案名稱:

構建安裝包如下:

 

windows下Bullet 2.82編譯安裝(Bullet Physics開發環境配置)

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.