gpt4 book ai didi

c - 当包含 glext.h 时在 xcode 中编译 c 代码的奇怪问题

转载 作者:行者123 更新时间:2023-12-03 04:10:25 25 4
gpt4 key购买 nike

我有这个简单的代码

#include <stdio.h>    
#include <OpenGL/glext.h>
#include <OpenGL/gl.h>

int main (int argc, const char * argv[])
{
printf("Hello, World!\n");
return 0;
}

如果我用“glext.h”注释掉该行,它会在 xcode 4 中编译并运行良好,如果我取消注释该行,我会收到 345 个错误,其中大多数是“expected * before *”...到底是怎么回事?! gl.h 和 glext.h 都在 OpenGL 框架内,但无论我是否包含它,我都会得到相同的错误。我尝试了 GCC 4.2 以及 LLVM GCC 4.2 和 LLVM(在本例中有 21 个语义和解析错误)。

我确信我缺乏 C 经验导致了这个问题,但令我惊讶的是 gl.h 没有问题,但 glext.h 有问题。

即使我尝试通过 gcc 从命令行编译,我也会得到很多

/System/Library/Frameworks/OpenGL.framework/Headers/glext.h:3137: error: expected ‘)’ before ‘const’

有什么想法吗?

最佳答案

这是 glext.h 的一个错误。如果您查看该文件,您会发现它有一堆使用 GLenum 的定义,但 GLenum 并未在该文件中的任何位置定义。因此,在包含 glext.h 之前,您需要包含一个定义 GLenum 的文件。最简单的方法是首先包含 gl.h 而不是第二个:

#include <stdio.h>
#include <OpenGL/gl.h>
#include <OpenGL/glext.h>

关于c - 当包含 glext.h 时在 xcode 中编译 c 代码的奇怪问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6146896/

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