在 SDL 项目中调用 OpenGL 函数导致它无法在 OSX 下编译
Calling OpenGL functions in SDL project causing it to not compile under OSX
我在 Xcode 8.3.2 中使用 SDL2(最新的 OSX 二进制文件)、C++ 和 OpenGL。如果我只是从代码中调用 SDL2 函数,该项目构建得很好。但是,当我在代码中包含任何 OpenGL 函数调用时,它无法编译。我已经在文件头中包含了 <OpenGL/gl3.h>
。但是每当我在代码中调用任何 OpenGL 方法时,编译期间都会出现以下错误:
相关代码:
在Display.h中:
#ifndef Display_h
#define Display_h
#include <iostream>
#include <SDL2/SDL.h>
#include <OpenGL/gl3.h>
...
在Display.cpp中:
void Display::Clear(float r, float g, float b, float a)
{
glClearColor(r,g,b,a);
}
我是运行OSX10.12
问题已解决。我需要在项目的 "Build Phases" > "Link Binary With Libraries" 下添加 OpenGL 框架。我已经为 SDL2 做到了。但不知道我也需要为 OpenGL 做同样的事情。
我在 Xcode 8.3.2 中使用 SDL2(最新的 OSX 二进制文件)、C++ 和 OpenGL。如果我只是从代码中调用 SDL2 函数,该项目构建得很好。但是,当我在代码中包含任何 OpenGL 函数调用时,它无法编译。我已经在文件头中包含了 <OpenGL/gl3.h>
。但是每当我在代码中调用任何 OpenGL 方法时,编译期间都会出现以下错误:
在Display.h中:
#ifndef Display_h
#define Display_h
#include <iostream>
#include <SDL2/SDL.h>
#include <OpenGL/gl3.h>
...
在Display.cpp中:
void Display::Clear(float r, float g, float b, float a)
{
glClearColor(r,g,b,a);
}
我是运行OSX10.12
问题已解决。我需要在项目的 "Build Phases" > "Link Binary With Libraries" 下添加 OpenGL 框架。我已经为 SDL2 做到了。但不知道我也需要为 OpenGL 做同样的事情。