小编ass*_*uid的帖子

CMake找不到源文件(add_executable)

我一直在尝试遵循供应商的教程:CMake-Tutorial,查看文档:Cmake-Documentation,尽可能通过YouTube上的资源进行自我教育,但我真的很难为环境设置工作使用OpenGL.在使用了Glitter样板和open.gl和learnopengl.com上的教程时,我已经决定了解构建过程太重要了,不需要调查.

在我的调查中,我遇到了CMake错误"找不到源文件",下面会更详细地显示.问题似乎来自"add_executable".

这里有一个类似的问题:CMake - 找不到文件.解决方案涉及确保为每个变量正确设置$ {PROJECT_SOURCE_DIR},我相信我已经完成了.

我的文件结构:

+ infuriating_project
    + bin // post compile results
    + src // my humble code
    + deps // external code
        +glew
            + include
            + src
        +glfw
            + include
            + src
        +glm
        +soil
            + lib
            + src
Run Code Online (Sandbox Code Playgroud)

我的CMakeLists.txt:

cmake_minimum_required (VERSION 3.0)


# Version Information ---------------------------------------------------------
project (openGL-practice)
SET (VERSION_MAJOR 1)
SET (VERSION_MINOR 0)
SET (VERSION_FEATURE 0)
SET (VERSION_PATCH 0)
SET (VERSION "${VERSION_MAJOR}.${VERSION_MINOR}")
SET (VERSION "${VERSION}.${VERSION_FEATURE}.${VERSION_PATCH}")
MESSAGE ("Version: ${VERSION}")

# …
Run Code Online (Sandbox Code Playgroud)

c++ opengl cmake

8
推荐指数
2
解决办法
2万
查看次数

glm 在简单翻译中返回 nan

我正在使用 glfw、glad 和 glm 修补 OpenGL。在我正在使用的教程之一中,他们演示了 glm 的一些简单用法,如下所示:

glm::vec4 vec(1.0f, 0.0f, 0.0f, 1.0f);
glm::mat4 trans;
trans = glm::translate(trans, glm::vec3(1.0f, 1.0f, 0.0f));
vec = trans * vec;
std::cout << vec.x << vec.y << vec.z << std::endl;
Run Code Online (Sandbox Code Playgroud)

当我编译并运行这段代码时,我得到垃圾值(通常是 NAN)。该教程特别指出,实例化

glm::mat4 trans;
Run Code Online (Sandbox Code Playgroud)

默认情况下会为变量“trans”创建一个单位矩阵。我想也许这就是问题所在,尽管我已经验证 glm 默认情况下确实会这样做。

如果它有帮助,您可以在第 308 行找到整个源文件。非常感谢您的宝贵时间!

c++ opengl matrix coordinate-transformation glm-math

4
推荐指数
1
解决办法
2227
查看次数