包含/使用 GLM 库的麻烦
Trouble Including / Using GLM library
我在c ++项目中正确包含/使用glm数学库(http://glm.g-truc.net/)时遇到了问题。由于 glm 是一个"仅标题"库,我想我可以把它包含在这一行中:
#include "glm/glm.hpp"
起初,这似乎有效,因为我可以创建和使用矩阵和向量。但是,当我尝试使用glm::translate(...)
函数时,出现此错误:
error: ‘translate’ is not a member of ‘glm’
在 GLM 网站上,他们建议使用三角形括号包含库,如下所示:
#include <glm/glm.hpp>
。但是,鉴于它位于项目目录结构中,认为我可以以另一种方式包含它不是正确的吗?
我在下面设置了测试来说明我遇到的问题。glm
文件夹位于testglm.cpp
文件旁边。
#include <iostream>
#include "glm/glm.hpp"
using namespace std;
int main(void) {
// works:
glm::mat4 testMatrix1 = glm::mat4(5.0f) * glm::mat4(2.0f);
cout << testMatrix1[0][0] << endl; // output: 10
// doesn't work - (error: ‘translate’ is not a member of ‘glm’):
glm::mat4 testMatrix2 = glm::translate(glm::mat4(1.0f), glm::vec3(1.0f));
}
我正在使用 osx 上的终端使用此构建命令构建此测试:
g++ -o bin/glm_test src/testglm.cpp
我不确定我的问题是否与我如何包含库、如何使用它或如何构建项目有关。谷歌没有给我任何关于该错误消息的点击,所以我想知道我是否做错了什么根本性的事情。建议将不胜感激。谢谢。
yngum的建议让我更仔细地研究了文档,我意识到glm::translate
实际上是扩展glm核心的模块的一部分。我需要同时包含 glm 核心和matrix_transform扩展:
#include "glm/glm.hpp"
#include "glm/gtc/matrix_transform.hpp"
现在测试示例有效。(我还注意到我在测试中也犯了一个愚蠢的错误,这会阻止它编译。现在,为了将来的读者可能会遇到我出于同样原因遇到的问题,这已经在原始问题中得到了修复。
也许我有点晚了,但不是
#include "glm/glm.hpp"
一个可以使用
#include "glm/ext.hpp"
请确保您
有正确的参数或使用IDE来简化您的生活。
以下是我能找到的glm::translate
签名
detail::tmat4x4<T> translate (detail::tmat4x4<T> const &m, detail::tvec3<T> const &v);
detail::tmat4x4<T> translate (T x, T y, T z)
detail::tmat4x4<T> translate (detail::tmat4x4<T> const &m, T x, T y, T z)
detail::tmat4x4<T> translate (detail::tvec3<T> const &v)
在终端中写入:
sudo apt install libglm-dev
这对我有用。
相关文章:
- 了解 GLM- openGL 中的相机转换
- OpenGl glm rotate
- OpenGL 和 GLM 矩阵无法正确扩展,总是按比例缩小
- 发布旋转矩阵(openGL/glm)
- 如何在 glRotatef 中使用 glm::mat4
- 我已经阅读了很多关于 2d 数组的信息,但我在作业中使用它时遇到了麻烦
- OpenGL 转换无法使用 GLM 矩阵
- 查找奇数平方和时遇到麻烦
- 将 glm.mat4 从 Python 传回 C++ (glm::mat4)
- OpenGL GLM 矩阵/向量未正确初始化
- 通过零参数构造函数创建的 glm::mat4 应该包含哪些值?
- 将双倍转换为 LPARAM 的麻烦
- 麻烦得到提升::记录器编译
- 翻转 ppm 图像C++麻烦
- 尝试使用 indexOf 创建一个 if 语句来检查字符串是否包含字符.有一点麻烦
- 搬家turtlebot_gazebo麻烦
- CSUF EPP - 你有什么想法(在添加到链接列表末尾时遇到麻烦)
- 在OpenGL(GLM/C++)中使用四元数旋转时出现问题
- 我的期末考试遇到了麻烦.代码不断循环回到我的订购菜单,不会显示我的总价
- 包含/使用 GLM 库的麻烦