【发布时间】:2014-09-22 23:49:01
【问题描述】:
我正在为多平台渲染器(至少现在是 iOS/Mac)编写构建工具链。该项目有一个核心库(每个平台目标都将使用该库),应将其编译为静态库 (.a),以便在其他平台相关项目中使用(如在 xcode 项目或 eclipse 中)用于进一步的android开发)。
此静态库依赖于 OpenGL ES 2.0 (iOS) 或 OpenGL for Mac。所以我有以下文件以包含正确的标题:
#ifdef PLATFORM_IOS
#include <OpenGLES/ES2/gl.h>
#include <OpenGLES/ES2/glext.h>
#endif
#ifdef PLATFORM_OSX
#include <OpenGL/gl.h>
#include <GLFW/glfw3.h>
#endif
事实是它在 Mac 平台上完美运行,cmake 正确找到了 OpenGL 头文件,但对于 iOS,它没有找到 OpenGLES;即使使用我编写的 FindOpenGLES.cmake 模块,我也无法找到这些头文件,这似乎是合乎逻辑的,因为我什至在 /usr/include 中都找不到它们。
【问题讨论】:
-
尝试定位 OpenGLES 和 ES2 目录。如果它们存在,您可以使用 include_directories() 获取确切位置。
-
是的,这就是我想要做的,但我不知道它们在哪里,我跑了一个
find /usr -name "*GLES*",但这里似乎什么都没有。 -
1.运行定位命令。 2.或者试试 find / -name
"*GLES*"-type f -print 他们一定在某处
标签: c++ ios opengl-es cmake opengl-es-2.0