是否可以在WP8 Direct3D应用程序中使用ASIMP?

是否可以在WP8 Direct3D应用程序中使用ASIMP?,3d,windows-phone-8,arm,windows-phone,direct3d,3d,Windows Phone 8,Arm,Windows Phone,Direct3d,我正在制作一个应用程序,它将从能够导入大量不同的模型文件类型中获得巨大的好处,因此我对ASIMP感兴趣 然而,为ARM编译项目似乎比看起来要困难得多,因为我不是编译外国系统的专家,所以在我的WP8应用程序中使用它的运气不太好 是否有人能够在WP8应用程序中成功使用ASIMP?我明白了,所以为WP8编译它一定不是不可能的,但可能很难。长话短说,这是可能的,经过几天的努力,我终于把它移植过来了 我做这件事的方式可能不是最好的方式,但无论如何,我会在这里解释: 我花了很多时间分别编译这个库,然后链接它

我正在制作一个应用程序,它将从能够导入大量不同的模型文件类型中获得巨大的好处,因此我对ASIMP感兴趣

然而,为ARM编译项目似乎比看起来要困难得多,因为我不是编译外国系统的专家,所以在我的WP8应用程序中使用它的运气不太好


是否有人能够在WP8应用程序中成功使用ASIMP?我明白了,所以为WP8编译它一定不是不可能的,但可能很难。

长话短说,这是可能的,经过几天的努力,我终于把它移植过来了

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

  • 我花了很多时间分别编译这个库,然后链接它

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

    b。我还通过向空白WP8静态库模板添加源文件和依赖项来构建它

    c。当我正确链接时,我会得到一个运行时错误,说找不到模块

  • 通过努力使上述方法发挥作用,我真正擅长配置VS2012项目以正确编译ASIMP,因此我选择了一种更直接的方法来避免链接,只是将ASIMP源代码及其依赖项添加到我的主WP8项目中

    a。要正确配置ASIMP,您必须做很多奇怪的事情

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

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

    d。您必须对其进行的大多数细微更改都很简单,但有些更难看,比如您必须注释掉windows.h中的一些#include,这样您就不会试图引入未使用和不兼容的标题

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

  • 如果有人需要帮助,或者如果我可以给你发送一个没有我的应用程序代码的项目版本,请告诉我