Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
opengl教程xcode cmake_Xcode_Opengl_Cmake - Fatal编程技术网

opengl教程xcode cmake

opengl教程xcode cmake,xcode,opengl,cmake,Xcode,Opengl,Cmake,我遵循OpenGL-tutorial.org上的每一条指令,下载2.1代码,通过cmake运行它,指定xcode并使用其默认编译器。我进行了配置,直到红线消失,然后单击生成。但在xcode中打开它生成的项目文件时,会显示以下错误: /OpenGL-tutorial_v0010_21/external/AntTweakBar-1.15/src/LoadOGLCore.h:149:24: Conflicting types for 'glMultiDrawElements' /OpenGL-t

我遵循OpenGL-tutorial.org上的每一条指令,下载2.1代码,通过cmake运行它,指定xcode并使用其默认编译器。我进行了配置,直到红线消失,然后单击生成。但在xcode中打开它生成的项目文件时,会显示以下错误:

 /OpenGL-tutorial_v0010_21/external/AntTweakBar-1.15/src/LoadOGLCore.h:149:24: Conflicting types for 'glMultiDrawElements'

 /OpenGL-tutorial_v0010_21/external/AntTweakBar-1.15/src/LoadOGLCore.h:214:24: Conflicting types for 'glShaderSource'

 /external/AntTweakBar-ObjectiveC/LoadOGLCore.mm:116:1: Cannot initialize a variable of type 'PFNglMultiDrawElements' (aka 'void (*)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei)') with an lvalue of type 'void (GLenum, const GLsizei *, GLenum, const GLvoid *const *, GLsizei)': type mismatch at 4th parameter ('const GLvoid **' (aka 'const void **') vs 'const GLvoid *const *' (aka 'const void *const *'))

 /external/AntTweakBar-ObjectiveC/LoadOGLCore.mm:116:1: Cannot initialize a variable of type 'PFNglMultiDrawElements' (aka 'void (*)(GLenum, const GLsizei *, GLenum, const GLvoid **, GLsizei)') with an lvalue of type 'void (GLenum, const GLsizei *, GLenum, const GLvoid *const *, GLsizei)': type mismatch at 4th parameter ('const GLvoid **' (aka 'const void **') vs 'const GLvoid *const *' (aka 'const void *const *'))
我使用的是Xcode 4.6.1和cmake 2.8-10


这可能是cmake或教程代码有问题吗?

转到这些函数的定义,用正确的(更新)参数定义替换原型

转到这些函数的定义,用正确的(更新)参数定义替换原型

作者:

欢迎访问StackOverflow,感谢您阅读opengl-tutorial.org

这是一个已知的问题(仅在10.8上,我没有)。但是,AntTweakBar提供了一个简单的GUI,它仅用于最后一个教程。其他子项目的建设应该很好。以防万一,您可以删除CMakeLists.txt文件中的第367到385行,然后重新运行CMake

我会在修复后更新此帖子。很抱歉给您带来不便

作者:

欢迎访问StackOverflow,感谢您阅读opengl-tutorial.org

这是一个已知的问题(仅在10.8上,我没有)。但是,AntTweakBar提供了一个简单的GUI,它仅用于最后一个教程。其他子项目的建设应该很好。以防万一,您可以删除CMakeLists.txt文件中的第367到385行,然后重新运行CMake


我会在修复后更新此帖子。很抱歉给您带来不便

前两个错误很容易修复,也许它会修复另外两个。请注意glShaderSource在gl.h中的签名。它是:

extern void glShaderSource (GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
第三个参数是“指向字符串的常量指针的常量指针”

但是,请注意LoadOGLCore.h中的签名是(扩展宏):

第三个参数是“指向字符串指针的常量指针”(缺少“常量”)。因此,打开LoadOGLCore.h并更改(第214行):

致:


对有关GLMultidrawerElements的其他错误执行相同的操作。这使我至少可以在OSX 10.8.5上构建AntTweakBar。仍然没有尝试运行示例项目,但我会在运行时进行更新。

前两个错误很容易修复,也许它会修复其他两个错误。请注意glShaderSource在gl.h中的签名。它是:

extern void glShaderSource (GLuint shader, GLsizei count, const GLchar* const *string, const GLint *length);
第三个参数是“指向字符串的常量指针的常量指针”

但是,请注意LoadOGLCore.h中的签名是(扩展宏):

第三个参数是“指向字符串指针的常量指针”(缺少“常量”)。因此,打开LoadOGLCore.h并更改(第214行):

致:


对有关GLMultidrawerElements的其他错误执行相同的操作。这使我至少可以在OSX 10.8.5上构建AntTweakBar。仍然没有尝试运行示例项目,但我会在运行时进行更新。

不相关:MacOS上的OpenGL界面已经过时,因此时间越长,您会发现针对此特定组合的过时教程越多。对不起:/我越来越注意到这一点。要想找到任何相关的东西,哪怕是一个基本的开始,都是一场噩梦(无关:MacOS上的OpenGL界面已经过时,因此,时间越长,您就会越发现针对这种特定组合的过时教程。抱歉:/我已经越来越注意到这一点。找到任何相关的东西,甚至连一个基本的开始都是一场噩梦(
const GLchar* *string
const GLchar* const *string