gpt4 book ai didi

c++ - 编译 GLEW/SDL 程序时出错

转载 作者:搜寻专家 更新时间:2023-10-31 00:37:06 26 4
gpt4 key购买 nike

我有这个代码:

#include <iostream>

#include <glew.h>
#include <SDL.h>

#pragma comment(lib, "glew32.lib")
#pragma comment(lib, "SDL2.lib")

using namespace std;

int main(){

return 0;
}

我遇到了这些错误:

/usr/include/w32api/GL/glu.h:68:79: error: expected ‘)’ before ‘*’ token
void APIENTRY gluQuadricCallback(GLUquadric *qobj,GLenum which,void (CALLBACK *fn)());
^
/usr/include/w32api/GL/glu.h:68:79: error: expected ‘)’ before ‘*’ token
/usr/include/w32api/GL/glu.h:68:79: error: expected initializer before ‘*’ token
/usr/include/w32api/GL/glu.h:78:79: error: expected ‘)’ before ‘*’ token
void APIENTRY gluTessCallback(GLUtesselator *tess,GLenum which,void (CALLBACK *fn)());
...

出了什么问题?似乎 glu.h 属于 MinGW 包。我将 NetBeans 与 Cygwin 一起使用。

最佳答案

我怀疑您的代码片段是否是实际编译的。错误消息提到 GLU 定义。这些可以在 GL/glu.h 中找到,包括在您的代码段中没有提到的内容,也没有包含在 glew.hSDL.h 中

无论如何,该错误很可能是由于缺少特定于 Windows 的 APIENTRY 宏的定义(仅在基于 Windows 操作系统/针对 Windows 操作系统的构建中才会出现)。包括 windows.h 或自己定义宏。

我建议在包含任何与 OpenGL 相关的内容之前使用它。

#if defined(_WIN32) || defined(_WIN64) || defined(__WIN32__) \
|| defined(__TOS_WIN__) || defined(__WINDOWS__)
/* Compiling for Windows */
#ifndef __WINDOWS__
#define __WINDOWS__
#endif
# include <windows.h>
#endif/* Predefined Windows macros */

关于c++ - 编译 GLEW/SDL 程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20441581/

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