gpt4 book ai didi

c++ - GLM Math lib 使用 GCC 编译错误

转载 作者:太空宇宙 更新时间:2023-11-04 12:00:04 25 4
gpt4 key购买 nike

<分区>

Possible Duplicate:
C++ operator overloading: no known conversion from object to reference?

我正在使用 GLM lib (版本 0.9.4)用于我现在移植到 Linux 的 OpenGL 渲染器。我在使用 MS VS2010 进行编译时没有遇到任何问题。现在,当尝试使用 GCC(版本 4.7.2)在 Linux 上编译时,我遇到了一些与将 GLM 矩阵作为输入的方法相关的奇怪错误。

例如,声明如下:

  void SetProjection(mat4 &matr);

定义是:

  void TransformState::SetProjection(mat4 &matr){

_projection=matr;

}

在某些地方我是这样使用它的:

_transform.SetProjection(perspective(_fov , _viewportW/(float)_viewportH,_nearPlane , _farPlane));  

GCC 编译器抛出以下内容:

../../Documents/XXX/XXX/XXXengine/src/cameras/XXXX.cpp:120:104: 错误:没有匹配函数来调用 'ie_engine::TransformState::SetProjection(glm::细节::tmat4x4)'

对于上面提到的声明方法,我得到了这个错误:

../../Documents/XXX/XXXX/XXXengine/include/TransformState.h:31:8: 注意:参数 1 没有从 'glm::detail::tmat4x4' 到 ' glm::mat4& {aka glm::detail::tmat4x4&}'

问题是什么?据我所知,GLM 确实可以与 GCC 一起使用。

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com