使用GLM的Emscripten

8
Ball.h:7:10: fatal error:
  'glm/glm.hpp' file not found
#include <glm/glm.hpp>
     ^
1 warning and 1 error generated.
ERROR:root:compiler frontend failed to generate LLVM bitcode, halting

我尝试使用Emscripten编译我的C++项目,但是遇到了上述错误。在VS15中可以正常运行。我该如何解决这个问题?

我可以进行以下操作来进行编译:

#include "..\..\packages\glm.0.9.6.3\build\native\include\glm\glm.hpp"

或者创建一个头文件,例如

myglm.h

我将在其中包含此文件以及其他源文件将包含myglm.h,

但我想知道是否有更好的方法?

谢谢


你需要将glm链接到Emscripten编译器,但是我不太确定如何做到这一点。 - Newbyte
1个回答

0

我在这个问题上找到了一个解决方案,感谢CoffeeDeveloper的评论:使用emscripten与库一起使用

glm可以通过Emscripten进行编译,因为它是平台无关的(只需将glm源代码添加到您的源代码树中,并提供正确的包含路径和定义正确的GLM配置宏即可进行编译)。

在每个使用GLM的地方,在包含GLM之前加入#define GLM_FORCE_PURE。最好创建一个新的头文件#define GLM_FORCE_PURE(换行符)#include <glm/glm.hpp>.. 这样应该可以直接使用。使用一个新的头文件,这样您就不必记住每次包含它时都要定义GLM_FORCE_PURE。

对我来说,这个方法非常完美,只需将glm源代码文件添加到您的项目中,并像这样包含它们:

#define GLM_FORCE_PURE
#include <glm/glm.hpp>

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接