2

我正在制作一个应用程序,它可以从能够导入大量不同的模型文件类型中受益匪浅,因此我对 assimp 很感兴趣。

然而,为 ARM 编译项目似乎比看起来更困难,而且由于我不是编译外国系统的专家,所以在我的 WP8 应用程序中使用它时运气不佳。

有没有人能够在 WP8 应用程序中成功使用 AssImp?我看到其他人已经能够使其适用于 iOS 应用程序,因此为 WP8 编译它一定不是不可能的,但可能会很困难。

4

1 回答 1

0

长话短说,这是可能的,经过几天的摆弄,我设法将它移植过来。

我这样做的方式可能不是最好的方式,但无论如何我都会在这里解释:

  1. 我花了很多时间尝试单独编译库然后链接它。

    一种。我能够成功地为 ARM 和 x86/x64 构建它,但使用这种方法我无法链接它。

    湾。我还设法通过将源文件和依赖项添加到空白 WP8 静态库模板来构建它。

    C。当我确实可以正确链接时,我会收到一个运行时错误,说找不到模块。

  2. 通过努力使上述方法发挥作用,我变得非常擅长配置 VS2012 项目以正确编译 AssImp,因此我采用了一种更直接的方法来避免链接并添加 AssImp 源及其依赖项到我的主要 WP8 项目。

    一种。要正确配置 AssImp,您必须做许多奇怪的事情。

    湾。最重要的是确保您拥有所有的依赖项(即 boost)和 AssImp 需要的不在其源代码目录中的附加文件。这包括一些版本标题和一个 contrib 目录。

    C。在您确定包含正确设置并且编译器知道所有必要的代码之后,您将不得不进行一些文件黑客攻击以解决编译器问题。

    d。您必须对其进行移植的大部分细微更改都很容易,但有些更难看,例如您必须在 windows.h 中注释掉一些#include,这样您就不会尝试引入未使用和不兼容的标头。

  3. 之后,您应该能够编译和部署整个项目!我已经设法在 WP8 模拟器和设备本身上加载和渲染模型。

如果有人需要帮助,或者如果我可以向您发送没有我的应用程序代码的项目版本,请告诉我!

于 2013-04-21T17:43:50.353 回答