2013-04-09 81 views
2

我正在製作一個應用程序,能夠導入一堆各種模型文件類型,從而大大受益,因此我對assimp很感興趣。是否可以在WP8 Direct3D應用程序中使用AssImp?

但是,看起來編譯ARM項目比看起來更困難,因爲我不是編譯外部系統的專家,所以在我的WP8應用程序中使用它並沒有太大的運氣。

有沒有人能夠在WP8應用程序中成功使用AssImp?我看到others have been able to make it work for an iOS app,所以編譯WP8不是不可能的,但可能很困難。

回答

0

長話短說,這是可能的,並在幾天的擺弄之後,我設法將其移交。

我做的可能不是做的最好的方式,但我會在這裏反正解釋它的方式:

  1. 我花了很多時間試圖單獨編譯庫,然後鏈接它。

    a。我能夠成功地爲ARM和x86/x64構建它,但是使用這種方法我無法鏈接它。

    灣我還設法通過將源文件和依賴項添加到空白WP8靜態庫模板來構建它。

    ℃。當我確實鏈接正確的時候,我會得到一個運行時錯誤,說一個模塊找不到。

  2. 通過努力使上述方法奏效,我變得非常善於配置VS2012項目以正確編譯AssImp,所以我採取了更直接的方法來避免必須鏈接並添加AssImp源碼及其對我主WP8項目的依賴關係。

    a。你需要做很多奇怪的事情才能正確配置AssImp。

    灣最重要的一點是確保你擁有所有的依賴項(即boost)和AssImp所需的不在其源代碼目錄中的附加文件。這包括幾個版本標題和一個contrib目錄。

    ℃。在確定包含已正確設置並且編譯器已知所有必需的代碼之後,您必須執行一些文件黑客來解決編譯器問題。 d)。你必須做的很多簡單的修改很容易,但有些更加醜陋,就像你必須在windows.h中註釋掉一些#includes,這樣你纔不會引入未使用和不兼容的頭文件。

  3. 之後,你應該能夠得到整個項目的編譯和部署!我已經設法加載並在WP8仿真器和設備本身上渲染模型。

如果有人需要幫助,或者如果我可以給你一個版本,我的項目不具備我的應用程序代碼,讓我知道!

相關問題