AnttweakBar 的安装和使用

2020/02/10 Library

总结 Anttweakbar 的安装和使用。AntTweakBar 是一个小巧实用且跨平台的 C/C++ 库,用户可以用它很方便的渲染三维模型并增加简单的图形化控件。它支持 DirectX 9-11, GLUT, GLFW, SDL, SFML 等众多渲染库。这是官方网站


编译源码并安装

从官网下载源码后,按照说明安装。在 Mac 中,前进到 src 文件夹后使用 make -f Makefile.osx 编译并安装。不过,此时可能会遇到如下所示错误:

In file included from TwOpenGLCore.cpp:22:
./LoadOGLCore.h:149:24: error: conflicting types for 'glMultiDrawElements'
ANT_GL_CORE_DECL(void, glMultiDrawElements, (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* *indices, GLsizei primcount))
                       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2839:13: note: previous declaration is here
extern void glMultiDrawElements (GLenum mode, const GLsizei *count, GLenum type, const GLvoid* const *indices, GLsizei primcount) OPENGL_DEPRECATED(10.0, 10.14);
            ^
In file included from TwOpenGLCore.cpp:22:
./LoadOGLCore.h:214:24: error: conflicting types for 'glShaderSource'
ANT_GL_CORE_DECL(void, glShaderSource, (GLuint shader, GLsizei count, const GLchar* *string, const GLint *length))
                       ^
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/System/Library/Frameworks/OpenGL.framework/Headers/gl.h:2926:13: note: previous declaration is here
extern void glShad

解决方法参考:opengl tutorial xcode cmake。这是因为,出错的这两个函数和 OpenGL 提供的接口中的参数有冲突。OpenGL 中,这两个函数中的那个 ** 参数的都是 const Type* const*(常量指针指向常量指针类型),而出错的这两个函数的参数类型都是 const Type **(指针指向常量指针类型)。因此,解决方法是,打开 LoadOGLCore.h 文件,然后找到出错的那两行,将对应的那两个参数修改成 const GLvoid* const* indices 以及 const GLchar* const *string 就行了。经验证通过编译。

Search

    Table of Contents