我正在制作一个应用程序,它可以从能够导入大量不同的模型文件类型中受益匪浅,因此我对 assimp 很感兴趣。
然而,为 ARM 编译项目似乎比看起来更困难,而且由于我不是编译外国系统的专家,所以在我的 WP8 应用程序中使用它时运气不佳。
有没有人能够在 WP8 应用程序中成功使用 AssImp?我看到其他人已经能够使其适用于 iOS 应用程序,因此为 WP8 编译它一定不是不可能的,但可能会很困难。
我正在制作一个应用程序,它可以从能够导入大量不同的模型文件类型中受益匪浅,因此我对 assimp 很感兴趣。
然而,为 ARM 编译项目似乎比看起来更困难,而且由于我不是编译外国系统的专家,所以在我的 WP8 应用程序中使用它时运气不佳。
有没有人能够在 WP8 应用程序中成功使用 AssImp?我看到其他人已经能够使其适用于 iOS 应用程序,因此为 WP8 编译它一定不是不可能的,但可能会很困难。
长话短说,这是可能的,经过几天的摆弄,我设法将它移植过来。
我这样做的方式可能不是最好的方式,但无论如何我都会在这里解释:
我花了很多时间尝试单独编译库然后链接它。
一种。我能够成功地为 ARM 和 x86/x64 构建它,但使用这种方法我无法链接它。
湾。我还设法通过将源文件和依赖项添加到空白 WP8 静态库模板来构建它。
C。当我确实可以正确链接时,我会收到一个运行时错误,说找不到模块。
通过努力使上述方法发挥作用,我变得非常擅长配置 VS2012 项目以正确编译 AssImp,因此我采用了一种更直接的方法来避免链接并添加 AssImp 源及其依赖项到我的主要 WP8 项目。
一种。要正确配置 AssImp,您必须做许多奇怪的事情。
湾。最重要的是确保您拥有所有的依赖项(即 boost)和 AssImp 需要的不在其源代码目录中的附加文件。这包括一些版本标题和一个 contrib 目录。
C。在您确定包含正确设置并且编译器知道所有必要的代码之后,您将不得不进行一些文件黑客攻击以解决编译器问题。
d。您必须对其进行移植的大部分细微更改都很容易,但有些更难看,例如您必须在 windows.h 中注释掉一些#include,这样您就不会尝试引入未使用和不兼容的标头。
之后,您应该能够编译和部署整个项目!我已经设法在 WP8 模拟器和设备本身上加载和渲染模型。
如果有人需要帮助,或者如果我可以向您发送没有我的应用程序代码的项目版本,请告诉我!