c - #include <高兴/高兴.h> : No such file or directory (even though source and header are in the same directory)

标签 c opengl cmake header opengl-extensions

我最近开始将我用 Java(使用 lwjgl)编写的游戏引擎转换为 C/C++。我在 Fedora 25 上使用 Qt Creator 和 CMake(我很确定这不会影响任何东西)来链接所有目录、文件等。我的系统上安装了 GLFW,但我决定使用源版本,而不是比包含的版本。我正在为我的扩展加载器使用 glad,并按照 GLFW website 上的教程配置它.我还没有通过“Hello World”测试,因为当我包含 glad.h 时文件在我的main.c文件,我得到一个错误:

<glad/glad.h>: No such file or directory

同样奇怪的是,我在 glad.c 中遇到了同样的错误。文件,该文件是使用 glad 自己的生成器创建的。我的main.c文件看起来像这样

#include <stdio.h>
#include <glad/glad.h>
#include <GLFW/glfw3.h>

int main(int argc, char *argv[])
{
    printf("Kick Ass Game Engine");
    return 0;
}

我也尝试过使用 "glad.h:而不是 <glad/glad.h> (我发现了那个建议 here )。这确实适用于我的 main.c文件,但我仍然对 glad.c 有同样的问题文件,即使在我编辑它以反射(reflect) main.c 之后.

我的项目目录如下所示:

- KAGE/
  -> CMakeLists.txt
  -> glad.c
  -> glad.h
  -> main.c
  -> khplatform.h
-> KAGE/lib/
   -> glad
   -> glfw-3.2.1

如您所见,我所有的 .c它们的头文件在一个目录中。 lib目录是我保持高兴和 glfw 的地方。我刚刚从 lib/glad 复制了文件主项目一的目录。

我的 CMake看起来像这样

project(KAGE)
cmake_minimum_required(VERSION 2.8)
aux_source_directory(. SRC_LIST)
add_executable(${PROJECT_NAME} ${SRC_LIST})

set(GLFW_BUILD_DOCS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_TESTS OFF CACHE BOOL "" FORCE)
set(GLFW_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE)

add_subdirectory(/home/brian/KAGE/lib/glfw-3.2.1)

find_package(OpenGL REQUIRED)

target_link_libraries(KAGE glfw)

我尝试四处搜索,但人们在尝试调用系统上安装的库时遇到的所有问题。我的没有安装。我有一个单独的目录 ( lib ),我在其中保存我使用的所有内容。我发现的唯一接近我正在寻找的解决方案是关于替换 <glad/glad.h> 的解决方案。与 "glad.h" .正如我之前所说,这没有用。 GLFW 网站上的教程不提供任何其他信息或故障排除。

非常感谢任何帮助或建议。谢谢。

最佳答案

似乎 glad.h 不在名为 glad 的目录中,因此通过 glad/glad.h 包含它永远不会工作!

如果你在 linux 上,一个技巧是创建一个软链接(soft link)到 . 调用 glad 然后你可以有 glad/glad/glad/glad/glad.h 如果你想要的话。

更好的解决方案是正确安装东西,使文件最终到达预期的路径...

关于c - #include <高兴/高兴.h> : No such file or directory (even though source and header are in the same directory),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42430457/

相关文章:

c - 函数 ceil() 被忽略

OpenGL 四边形条未显示

c++ - cmake 使用 find_package 传播依赖项

c++ - 使用 cinder 和 poco 时出现链接器错误

c - 将 C 数组返回到 VB.NET

c - C中的函数命名 : parentheses in function names

c - 获取最大负数的绝对值

opengl - GLFW-RS 只显示黑色方 block 而不是旋转立方体

c++ - 如何在 OpenGL 中正确移动(移入和移出对象)

python - 使用 cmake 找到正确的 Python 框架